Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Nybörjarprogram i python - fråga

Skapad av Borttagen, 2011-10-20 17:42 i Webbutveckling & Programmering

6 307
16 inlägg
0 poäng
Peldan
Visningsbild
P Hjälte 213 inlägg
0
Hej allihopa!


I förrgår kväll började jag med att programmera i Python. Jag lärde mig basics från en hemsida kallad http://www.learn-to-program.net och det funkade faktiskt ganska bra.


Idag testade jag att göra ett program där man får upp en meny med frågorna:


"Vill du veta vem som gjorde skiten?"
Om man säger ja, skriv mitt namn, om man säger nej, skriv "Skit it då, surgubbe" och skicka en till nästa fråga.


Sedan "Vad vill du spela? 1. Frågesport eller 2. Gissa ett tal mellan 1-10"
Om man skriver 1 så blir man skickad till frågesporten, eller om man skriver 2 så blir man skickad till talgissningen.


Jag har dock en fråga om min frågesport.


Jag har gjort en integer som heter "IQ" med värdet 0. När man svarar rätt så höjs den med 10, och printas ut, och om man svarar fel så sänks den med 10, och printas ut, sedan får man göra om frågan.


Men hur gör jag så att man får göra om frågan om man svarar fel? Så här har jag skrivit:


http://pastebin.com/ure7P6a1


Som sagt så vill jag veta hur man gör så man får göra om alla frågor som finns om man svarar fel.


Jag undrar också om mitt IQ-system fungerar bra.
Tack på förhand!

BTW: Jag är nybörjare, no flaming! :)

ost

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Kae
Visningsbild
P 32 Västra Frölunda Hjälte 6 659 inlägg
0
En whileloop fungerar nog.

Vet inte exakt hur det blir i python men typ:

boolean rattSvar = false;
while (!rattSvar)
{
//Ställ fråga och ta svar
if (/*Rätt svar*/) rattSvar = true;
}

Hoppas du fattar principen.
Soph
Visningsbild
F 34 Hjälte 209 inlägg
0

Svar till Peldanfisk [Gå till post]:
Enklast är väl bara att lägga in frågan i en while-loop.
while fraga1 !=3: lägger du in mellan din IQ = 0 och fraga1= ....
Tänk på indenteringen!


Obit anus, abit onus.

Peldan
Visningsbild
P Hjälte 213 inlägg
Trådskapare
0

Svar till Soph [Gå till post]:
Själva frågesporten ligger i en while-loop.

I början: spel = input("

Vad vill du spela?
1. Frågesport
2. Gissa nummer från 1-10
3. Skriv svaret här: ")

Sedan har jag för frågesporten: while spel == 1: och för talgissning: while spel == 2:.

While loop i en while loop? :0

ost

Soph
Visningsbild
F 34 Hjälte 209 inlägg
0

Svar till Peldanfisk [Gå till post]:
Det går jättebra! ^^
Kan man ha for i en for så kan man ha while i en while!

Obit anus, abit onus.

Peldan
Visningsbild
P Hjälte 213 inlägg
Trådskapare
0

Svar till Soph [Gå till post]:
Jaså, det visste jag inte.. Tack så mycket för hjälpen ;)

ost

Peldan
Visningsbild
P Hjälte 213 inlägg
Trådskapare
0
Jag har nu löst "problemet" med att skickas tillbaka om man svarar fel. Jag skrev bara "pass" på else: och det skickar en tillbaka.

Nu undrar jag dock hur jag ska göra med IQsystemet. Det står bara "Your IQ is now 10" "Your IQ is now "10" hela tiden, det ändras inte tex 10+10 om man gissar rätt 2 gånger i rad. Hur fixar jag det? :0

Tillägg av Peldanfisk 2011-10-20 18:29

HAR FIXAT DET!

Visste att jag skulle använda IQ += 10 men bara inte vart jag skulle sätta det.

ost

Soph
Visningsbild
F 34 Hjälte 209 inlägg
0

Svar till Peldanfisk [Gå till post]:
Som koden ser ut nu skriver du bara ut IQ + 10. Du måste ändra värdet också. Skriv på raden under "IQ += 10"

Obit anus, abit onus.

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
http://pastebin.com/XJZ3FxGf

En jultomte kikade förbi med ett pythonprogram.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

code
Visningsbild
P 25 Hjälte 76 inlägg
0
Svar till Syndafloden [Gå till post]:
Moget att göra ett program med en klass och listor när denna kille/tjej är helt färsk på programmering. Way to go för att döda intresset. Om du hade kommenterat koden skulle det i alla fall vara lite mer lätt för h*n.



Svar till Peldanfisk [Gå till post]:
För att skriva ut text kan du ju göra precis som du redan har gjort. Ett tips är dock att omvandla inputen till den datatyp som du hade tänkt att behandla.

Och om du har många if-satser kan du istället använda switch() som gör det lite lättare för dig. Jag ska visa med ett exempel:
http://pastie.org/2747858 <- Den koden kommer inte fungera

EDIT:
Dock så kom jag på nu att det inte finns switch i python, så du får använda något sånt här i så fall:
http://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python

I mitt kodexempel så kommer den loopen fortsätta till ett rätt svar händer. Om inget av de två "casen" händer så händer ju default (typ som else) och eftersom jag inte sätter i till false där så betyder det ju att den kommer att köra ett varv till.
Vet inte exakt om det kodexemplet fungerar då jag skrev det rakt i pastie. Lycka till :)


Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till code [Gå till post]:
Hade det varit jag som skrivit koden så hade jag väl tagit cred för det?
Gåläggdä.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

code
Visningsbild
P 25 Hjälte 76 inlägg
0

Svar till Syndafloden [Gå till post]:
Även om det inte är du som har kodat det så är det ju ändå onödigt att posta det. Om du ska posta det så tycker jag att du skulle förklarat det iaf, om du inte förstår koden för att du inte har skrivit den så återgå till min första mening i detta inlägget.

Drygare än dig verkar det ju vara svårt att bli, man ska lyfta upp intresset inte förstöra det. Men det förstår antagligen inte ditt självupptagna jag.

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till code [Gå till post]:
Jag håller med om att det är jättedumt att ens tala om att det finns mer avancerad kod. Tänk om människan i fråga kanske får bättre grepp om hur man kan utvecklas kodmässigt.

"Drygare än dig verkar det ju vara svårt att bli, man ska lyfta upp intresset inte förstöra det. Men det förstår antagligen inte ditt självupptagna jag."

Kasta inte glas i stenhus här.
Upprepar, gåläggdä.


HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

code
Visningsbild
P 25 Hjälte 76 inlägg
0

Svar till Syndafloden [Gå till post]:
Du verkar vara totalt ignorant i att förstå min poäng.
Såklart det är bra om man lär sig nya saker, men ditt sätt är som att man skulle posta C-kod med inkluderade boost-bibliotek som gjorde en hel del totalt oförståeligt för en nybörjare.

Hur menar du att den personen ska lära sig något genom din kod? Genom att titta på den? Om du seriöst ens skulle försöka påstå att någon lär sig något genom att titta på obegriplig kod utan kommentarer så skulle jag vilja påstå att man är lite efterbliven.

Det är klart att man ger tillbaka med samma medicin så som du behandlar andra verbalt. Det roliga är att jag har hjälpt dig med din kod förut och du skulle säkert tycka det var jättekul om alla postade kodsnuttar som dina till dig, fast över din nivå.

D2H
Visningsbild
P Hjälte 3 460 inlägg
0

Svar till code [Gå till post]:
Snälla. Den där koden är simpel, enkel att följa, innehåller inga imports förutom till random. Den behöver inte kommentarer eftersom det är så tydligt vad den gör.
Det är bra att läsa annans kod, och denna kod är inte komplicerad alls.

Det här däremot:
Ett stycke php-kod:
def f(x):
return {
'a': 1,
'b': 2,
}[x]

Det är inte enkel kod.

Ingen status

code
Visningsbild
P 25 Hjälte 76 inlägg
0

Svar till D2H [Gå till post]:
Jag skulle inte vilja påstå att det är lätt om man inte har en aning om vad ett objekt är.

Tja, kanske det. Men det är nog mest en smaksak då. Men jag var ju mest tvungen att rätta till mitt svar då switch tydligen inte fanns i ptyhon (åtminstonde 2.x).

Är samt lite skadad efter mycket java och c. Längesen jag gjorde något riktigt i python. :)


Forum » Datorer & IT » Webbutveckling & Programmering » Nybörjarprogram i python - fråga

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons