Diskussion:Gissa talet
Betrakta koden för programmet på sidan
- Vilka variabler finns i programmet?
- Vilka värden kan heltalen anta?
- Vad är syftet och vad händer med variablerna som finns i programmet?
- Vilka är programmets huvuddelar och vad händer i respektive del?
- Vad är syftet med programmet?
- Vilken sorts matematisk kunskap kan eleverna tillgodogöra sig om de kör programmet ett antal gånger
Didaktiskt tips
- Eleverna hittar strategin att halvera intervallet.
- Diskutera maximala antalet intervall eller gissningar
- Rita och diskutera
- Diskutera hur delning med två upprepade gånger är ekvivalent med upphöjt i två
- Led in diskussionen på potenser av 2.
Kodförbättringsförslag
Per Persson ställde följande relevanta fråga:
Fungerar verkligen programmet?
Du läser in en sträng och lägger den i 'guess' som du sedan konverterar till 'int'. Men sedan jämför du variabelns värde, som alltså är en 'int', med strängen "exit". Detta borde ge ett fel.
# Korrigerad version # Ange ett tal number = input("Ange ett tal mellan 1 - 100. ") # Använd heltal number = int(number) # Räknare guess = 0 count = 0 # Loopa tills vi avbryter while True: # Skriver ut text guess = input("Gissa det tal som din kamrat angav. ") if guess == "exit": break guess = int(guess) # Räknar antalet gissningar count += 1 # Jämför if guess < number: print("Talet du angav är mindre än det sökta talet.") elif guess > number: print("Talet du angav är större än det sökta talet.") else: print("Grattis du har gissat talet som din kamrat angav. ") print("Talet är: ", number) print("Det har tagit dig", count, "gissningar. ") break # Resultatet visas så länge vi vill input ("Tryck Enter för att avsluta programmet")