Diskussion:Gissa talet: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Hakan (diskussion | bidrag) Ingen redigeringssammanfattning |
Hakan (diskussion | bidrag) |
||
Rad 24: | Rad 24: | ||
Men sedan jämför du variabelns värde, som alltså är en 'int', med strängen "exit". | Men sedan jämför du variabelns värde, som alltså är en 'int', med strängen "exit". | ||
Detta borde ge ett fel. | Detta borde ge ett fel. | ||
<pre> | |||
# 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") | |||
</pre> |
Versionen från 25 mars 2018 kl. 11.25
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")