Gissa talet: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
Rad 22: Rad 22:
== Python-koden ==
== Python-koden ==
<pre>
<pre>
# Korrigerad version
# förklarar syftet med spelet
print("Detta spel handlar om att gissa det tal som din kamrat matar in. Du kan alltid avbryta programmet genom att skriva 'exit'.")


# Ange ett tal
# ange tal och dölj talet
number = input("Ange ett tal mellan 1 - 100. ")
import getpass
dolttal = getpass.getpass(prompt = "Ange ett heltal mellan 1 och 100: ")


# Använd heltal
# använd heltal
number = int(number)
dolttal = int(dolttal)


# Räknare
# räknare
guess = 0  
guess = 0
count = 0
count = 0


# Loopa tills vi avbryter
# räknare
while True:
while guess != dolttal:


# Skriver ut text
# gissa talet
     guess = input("Gissa det tal som din kamrat angav. ")
     guess = input ("Gissa talet som din kamrat har angett: ")
     if guess == "exit":
     if guess == "exit":
         break
         break
       
# räkna gissningar
     guess = int(guess)
     guess = int(guess)
    # Räknar antalet gissningar
     count += 1
     count += 1
 
     
    # Jämför
# jämför gissning med tal
     if guess < number:
     if guess < dolttal:
         print("Talet du angav är mindre än det sökta talet.")
         print("Talet du angav ar mindre an det sokta talet.")
     elif guess > number:
     elif guess > dolttal:
         print("Talet du angav är större än det sökta talet.")
         print("Talet du angav ar storre an det sokta talet.")
     else:
     else:
         print("Grattis du har gissat talet som din kamrat angav. ")
         print("Grattis! Du har gissat talet som din kamrat har angett.")
         print("Talet är: ", number)
         print("Talet är:",dolttal,)      
         print("Det har tagit dig", count, "gissningar. ")
         print("Och det har tagit dig",count,"gissningar.")
         break   
          
 
# visar resultatet så länge vi vill  
# Resultatet visas så länge vi vill
input("Tryck Enter för att avsluta programmet")
input ("Tryck Enter för att avsluta programmet")
</pre>
</pre>




Uppgiften är inspirerad av Attila Szabo, Utbildningsförvaltningen Stockholm.
Uppgiften är inspirerad av Attila Szabo, Utbildningsförvaltningen Stockholm.

Versionen från 11 april 2018 kl. 18.44

Programmeringsuppgift

Python-hjälp Fler uppgifter

Mål för undervisningen Kom igång med programmering i matematiken.

Målet är att du ska köra ditt första program för att utföra matematiska beräkningar. Du bör testa att modifiera algoritmen så att dina beräkningar blir mer effektiva.

Målet är inte att du ska lära dig programmering på matematiklektionen men det är oundvikligt att du ändå lär dig lite Python-kod.


Gissa talet

Uppgift
Gissa ett tal
  1. Kör programmet tillsammans med en kompis.
  2. Kör det flera gånger.
  3. Vilken strategi ger minst antal gissningar?
  4. Finns det ett maximalt antal gissningar om man följer strategin?
  5. Hur kan du uttrycka maximala antalet gissningar som en funktion av intervallet talet ligger i?


Python-koden

# förklarar syftet med spelet
print("Detta spel handlar om att gissa det tal som din kamrat matar in. Du kan alltid avbryta programmet genom att skriva 'exit'.")

# ange tal och dölj talet
import getpass
dolttal = getpass.getpass(prompt = "Ange ett heltal mellan 1 och 100: ")

# använd heltal
dolttal = int(dolttal)

# räknare
guess = 0
count = 0

# räknare
while guess != dolttal:

# gissa talet
    guess = input ("Gissa talet som din kamrat har angett: ")
    if guess == "exit":
        break
# räkna gissningar
    guess = int(guess)
    count += 1
       
# jämför gissning med tal
    if guess < dolttal:
        print("Talet du angav ar mindre an det sokta talet.")
    elif guess > dolttal:
        print("Talet du angav ar storre an det sokta talet.")
    else:
        print("Grattis! Du har gissat talet som din kamrat har angett.")
        print("Talet är:",dolttal,)        
        print("Och det har tagit dig",count,"gissningar.")
        
# visar resultatet så länge vi vill 
input("Tryck Enter för att avsluta programmet")


Uppgiften är inspirerad av Attila Szabo, Utbildningsförvaltningen Stockholm.