Permalänk

Python programmering! HJÄLP

Tja Bros!

Det är så att jag har nu påbörjat en kurs på KTH som heter programmeringsteknik och jag kan absolut ingenting om sådant..

Vi ska börja programmera med Python programmet och ska inom loppet av ett par månader kunna designa ett helt eget program.. Och för A betyg krävs kursledaren att den ska vara grafisk baserad, bland annat..

Jag tänker nu be er om hjälp.. Med tips och gärna hemsidor/guider som kan hjälpa mig att uppnå detta mål..

Tack i förväg

Permalänk
Permalänk

Om du behöver lite enklare uppgifter att träna på så kan du kolla in

Project Euler

( Projecteuler var faktiskt anledningen till att jag började med python en gång i tiden! )

Permalänk

TACK! Finns det inga material på svenska? Har inga problem med engelskan, men vore kul. Och har ni tips eller annat material, bara att ge mig dem. BEHÖVER ALL HJÄLP JAG KAN FÅ.

Lyckas jag med bra betyg, så bjuder jag på kaffe och munkar!! haha promise

Permalänk
Medlem
Skrivet av Quantum-CPU:

TACK! Finns det inga material på svenska? Har inga problem med engelskan, men vore kul. Och har ni tips eller annat material, bara att ge mig dem. BEHÖVER ALL HJÄLP JAG KAN FÅ.
Lyckas jag med bra betyg, så bjuder jag på kaffe och munkar!! haha promise

Om du har börjat på en *kurs på KTH*, borde inte dom ha någon som helst literatur och handledning?
Om du kommer lyckas få bra betyg ska ju hänga på dig och inte oss.
Och nej, du ska INTE främst försöka få tag i svenska källor av information. Du ska på en gång kasta dig in i den värld och det språk som till majoriteten förekommer, DVS engelska.
Så sätt igång med grunderna och när du hamnar i en sits där det är något du behöver ha hjälp med så fråga då. Och frågan bör inte vara "-Jag ska göra ett program som tar emot fyra tal och sorterar dom, hur gör jag?".

Permalänk

Jo det har dem. Tänkte bara att ni är säkert lika duktig på sådant så. Kurslitteraturen som vi kör är Python Programming for the Absolute Beginner Python Programming for the Absolute Beginner (1435455002) av Michael Dawson - Adlibris bokhandel ..

Hur ska frågan se ut då?

Permalänk
Medlem
Skrivet av Quantum-CPU:

Jo det har dem. Tänkte bara att ni är säkert lika duktig på sådant så. Kurslitteraturen som vi kör är Python Programming for the Absolute Beginner Python Programming for the Absolute Beginner (1435455002) av Michael Dawson - Adlibris bokhandel ..

Hur ska frågan se ut då?

Sätt ner och börja plöja igenom boken. Så fort du stöter på något du inte förstår så använd ex. google. Men om du efter en timma inte löst det själv (med hjälp av google, wikipedia, literatur) så sov på saken.
Nästa dag är det ok att fråga oss Gör du så kommer du sakta men säkert bygga upp en kunskap av att hitta lösningar utan att vara beroende av andras involverande.

Permalänk

Tack så mycket!

Permalänk

Project Euler verkar ju vara lite över min nivå!! Hjälp mig starta?

Permalänk
Medlem

Läs första kapitlet i Python Programming for the Absolute Beginner...

Visa signatur

Gigabyte GA-890GPA-UD3H | PhenomII 965 BE | Powercolor HD4890 |
A-Data 4GB 1600MHz | 2x Western Digital 500 GB i Raid0 |
Corsair VX450 | LianLi Lancool PC-K56

Permalänk
Skrivet av Quantum-CPU:

Project Euler verkar ju vara lite över min nivå!! Hjälp mig starta?

hmmm... mycket enklare än så blir det nog inte. Så här kan man lösa problem 1

s = 0 for n in range(1000): if n%3 == 0: s += n if n%5 == 0: s += n print s

Vad är det som du tycker är svårt?

Permalänk

Kanske lätt för dig! Men jag är nog inte ens en nybörjare, så låg nivå är jag på! Men alla problem skall lösas med programmering, dvs problem som finns på Euler-sidan!

Kan inte du börja med att förklara hur du visste hur programmet skulle se ut och vad betyder det du har skrivit? Förlåt att jag ställer så dumma frågor.

Permalänk

@Quantum-CPU

Ger de er inte läroböcker i högskolan?

Permalänk
Medlem
Skrivet av jop_the_jopsan:

hmmm... mycket enklare än så blir det nog inte. Så här kan man lösa problem 1

s = 0 for n in range(1000): if n%3 == 0: s += n if n%5 == 0: s += n print s

Vad är det som du tycker är svårt?

Det där är inte en korrekt lösning av problemet. Vad händer om tal är delbara med både 3 och 5?

Permalänk
Medlem
Skrivet av You:

Det där är inte en korrekt lösning av problemet. Vad händer om tal är delbara med både 3 och 5?

Da-da-da-DAAA!

(behövs elseif!)

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Skrivet av You:

Det där är inte en korrekt lösning av problemet. Vad händer om tal är delbara med både 3 och 5?

ha! Bara bra så får han lära sig lite debugging också

Permalänk
Medlem
Skrivet av Teknocide:

Da-da-da-DAAA!

(behövs elseif!)

Behövs och behövs... det här fungerar ju också

if n%3 == 0 || n%5 == 0: s+= n

Permalänk

Gå på föreläsningar och övningar i skolan? Om det av någon konstig anledning inte skulle vara några förläsningar eller övningar bör du byta skola.

Permalänk
Medlem

Om du läser en kurs på högskolan så borde du ha fått tips på litteratur för kursen i fråga. Börja där. Om du tycker de första problemen på project Euler är för svåra så kommer du nog få svårt på högskolan, no offense.

EDIT: Angående problemet, det står ju inte om det ska vara ett inklusivt eller exklusivt or, så det är svårt att säga hur en korrekt lösning ser ut.

Permalänk
Medlem
Skrivet av jop_the_jopsan:

hmmm... mycket enklare än så blir det nog inte. Så här kan man lösa problem 1

s = 0 for n in range(1000): if n%3 == 0: s += n if n%5 == 0: s += n print s

Vad är det som du tycker är svårt?

Ah... modulus, dum-jag....

Men jag tror till exempel inte att TS vet vad det betyder eftersom han är absolute beginner på programmering. Till TS: -Läs. Och använd Engelska.

Visa signatur

åhoj

Permalänk
Medlem
Skrivet av You:

Behövs och behövs... det här fungerar ju också

if n%3 == 0 || n%5 == 0: s+= n

Nej, 'eller' skriver man som 'or' i python, inte som ||.
dvs såhär:

s = 0 for n in range(1000): if n%3 == 0 or n%5 == 0: s += n print s

Fast jag skulle kanske skrivit den på en rad såhär istället:

print sum([n for n in range(1000) if n%3==0 or n%5==0])

Till Quantum-CPU: Bästa sättet att lära sig programmera på är att programmera, ju mer desto bättre.

Permalänk
Inaktiv

Jag gick kursen programmeringsteknik på KTH förra året, och gick man på alla föreläsningar och övingar hängde man med mycket bra och tempot var lågt. Det verkar inte ens som att TS har varit på några lektioner/övningar överhuvudtaget utan sitter och spelar hela dagarna för att sedan försöka få A i kursen och lära sig programmering på några timmar.

Gå på föreläsningar och övningar, läs i boken, det vill säga från början utan att hoppa över saker. Man får inte ett A utan ansträngning, det fungerade på gymnasiet men på KTH är det annorlunda.

MVH Hassan Teknisk fysik år 2

Permalänk

Tackar för alla svar men kan ju säga att ChristofferC inte är snäll någonstans.. Har ni inga tips eller lösningar så tycker jag att ni inte behöver skriva något här!:)

Hassan, var inte du en fake-nolla på öppen ingång? haha

Permalänk

JUSTE, vadå TS?

Permalänk
Medlem
Skrivet av Quantum-CPU:

JUSTE, vadå TS?

TS = Trådskaparen = Du.

Permalänk
Medlem
Skrivet av vb:

Nej, 'eller' skriver man som 'or' i python, inte som ||.
dvs såhär:

Meh, jobbiga Python-syntax, C-syntax ftw!

Skrivet av ChristofferC:

DIT: Angående problemet, det står ju inte om det ska vara ett inklusivt eller exklusivt or, så det är svårt att säga hur en korrekt lösning ser ut.

Det är inte det minsta tvetydigt: du ska räkna alla tal som är delbara med 3 eller 5, alltså ska du inte räkna t.ex. 15 två gånger.

Permalänk
Medlem

Jag började programmera för ca 3 veckor sen, ska börja läsa det på gymnasiet, och har stött på ett problem, tänkte jag kunde låna tråden lite + att då kan TS titta om han förstår
Jag har iaf försökt göra ett program som räknar upp alla primtal till ett valt maxtal:

#Primtalsuppräknare
x = int(input('Write the maximum number: '))
def primeCounter(x):
n = 3
i = 2
while i<x:
if n%i == 0:
x = x + 1
return primeCounter(x)
else: i=i+1
return (i)

while 1 == 1:
print (primeCounter(x))

Jag har inte fått det att fungera, är det helt åt h-e eller är jag iaf på rätt väg?

Visa signatur

-Gaming: | NZXT Lexa S | Core i5 750 @ 3 GHz | XFX 5850 xXx | Asus P7P55D EVO | Corsair Dominator 4GB | NH-D14 | WD Caviar Black 750GB
-Programmering/grafiskt: | MacBook Pro 13.3" | SSD 128GB | Ubuntu 8.10

Permalänk
Medlem
Skrivet av You:

Meh, jobbiga Python-syntax, C-syntax ftw!

Det är inte det minsta tvetydigt: du ska räkna alla tal som är delbara med 3 eller 5, alltså ska du inte räkna t.ex. 15 två gånger.

Du har rätt, jag vet inte vad jag tänkte.

Permalänk
Medlem
Skrivet av J3H:

Jag började programmera för ca 3 veckor sen, ska börja läsa det på gymnasiet, och har stött på ett problem, tänkte jag kunde låna tråden lite + att då kan TS titta om han förstår
Jag har iaf försökt göra ett program som räknar upp alla primtal till ett valt maxtal:

#Primtalsuppräknare
x = int(input('Write the maximum number: '))
def primeCounter(x):
n = 3
i = 2
while i<x:
if n%i == 0:
x = x + 1
return primeCounter(x)
else: i=i+1
return (i)

while 1 == 1:
print (primeCounter(x))

Jag har inte fått det att fungera, är det helt åt h-e eller är jag iaf på rätt väg?

Du har en bit kvar..
Till att börja med, varje gång du lägger in kod på forumet, lägg [code]-taggar runt (du kan citera mitt tidigare inlägg för att se hur). Annars kommer inte mellanslag och tabbar med och det blir svårt att hjälpa.

För att reda ut vad som är fel i din kod, testa att ange x = 1 och följ vad ditt program gör steg för steg. Fixa dom fel du hittar, upprepa sedan samma sak fast med x = 2, 3, 4 osv tills programmet fungerar. Som nybörjare kan det vara en bra ide att göra det på papper, skriv ut vad x, i och n är för varje steg som sker i programmet för att verkligen se att du förstår vad som händer.

Permalänk
Medlem
Skrivet av J3H:

Jag började programmera för ca 3 veckor sen, ska börja läsa det på gymnasiet, och har stött på ett problem, tänkte jag kunde låna tråden lite + att då kan TS titta om han förstår
Jag har iaf försökt göra ett program som räknar upp alla primtal till ett valt maxtal:

#Primtalsuppräknare
x = int(input('Write the maximum number: '))

def primeCounter(x):
n = 3
i = 2
while i<x:
if n%i == 0:
x = x + 1
return primeCounter(x)
else: i=i+1
return (i)

while 1 == 1:
print (primeCounter(x))

Jag har inte fått det att fungera, är det helt åt h-e eller är jag iaf på rätt väg?

Ser väldigt fel ut, tänk igenom vad det är du försöker att göra.

Ett primtal är ett tal som enbart kan delas med sig själv och med ett.
För att testa om ett tal är ett primtal ska du alltså testa om talet är jämnt delbart med något heltal mindre än talet (behöver inte kolla alla tal, räcker med att kolla till kvadratroten av talet). Om det inte är det, så är det ett primtal.

Dessutom har du en oändlig while-loop (??)