1
Il computer pensa un numero e l’utente deve indovinarlo
Continua finché…
import random
MAX = 100
segreto = random.randint(1, MAX)
ancora = True
while(ancora):
tentativo = int(input("Prova a indovinare! "))
if(tentativo < segreto):
print("Troppo piccolo...")
elif(tentativo == segreto):
print("Complimenti!")
ancora=False
else:
print("Troppo grande...")
Per sempre, a meno che…
import random
MAX = 100
segreto = random.randint(1, MAX)
while(true):
tentativo = int(input("Prova a indovinare! "))
if(tentativo < segreto):
print("Troppo piccolo...")
elif(tentativo == segreto):
print("Complimenti!")
break
else:
print("Troppo grande...")
2
Alla fine del gioco il computer comunica il numero di tentativi
import random
MAX = 100
segreto = random.randint(1, MAX)
contatore = 0
ancora = True
while(ancora):
tentativo = int(input("Prova a indovinare! "))
contatore += 1
if(tentativo < segreto):
print("Troppo piccolo...")
elif(tentativo == segreto):
print("Complimenti!")
ancora=False
else:
print("Troppo grande...")
if(contatore == 1):
print("Hai fatto un tentativo!")
else:
print("Hai fatto", contatore, "tentativi.")
3
L’utente pensa un numero e il computer deve indovinarlo
- Il computer tenta con il numero al centro dell’intervallo
- l’utente risponde con ‘più grande’ (>), ‘esatto’ (=) oppure ‘più piccolo’ (<)
import random
MAX = 100
contatore = 0
minimo = 1
massimo = MAX
ancora = True
while(ancora):
contatore += 1
tentativo = (minimo+massimo)//2
messaggio = str(tentativo) + " (>, =, <) ? "
risposta = input(messaggio)
if(risposta == ">"):
minimo = tentativo+1
elif(risposta == "="):
print("Mi faccio i complimenti!")
ancora=False
elif(risposta == "<"):
massimo = tentativo-1
else:
print("Problemi di comunicazione")
ancora=False
if(contatore == 1):
print("Ho fatto un tentativo!")
else:
print("Ho fatto", contatore, "tentativi.")
4
Se l’utente commette un errore, o tenta di imbrogliare, … il programma termina quando esaurisce l’intervallo dei numeri
while(ancora and minimo <= massimo):