-
Notifications
You must be signed in to change notification settings - Fork 1
/
finale.py
85 lines (54 loc) · 2.18 KB
/
finale.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import random
minimo = 0
massimo = 2000
numero_da_indovinare = random.randint(minimo, massimo)
# numero_da_indovinare = 1234
tentativi = 0
def messaggio_intro(numero_tentativo):
return "--- Tentativo numero " + str(numero_tentativo) + "."
def stampa_intro(numero_tentativo):
print(messaggio_intro(numero_tentativo))
def dentro_intervallo(numero, min_val, max_val):
return min_val <= numero <= max_val
def fuori_intervallo(numero, min_val, max_val):
return not dentro_intervallo(numero, min_val, max_val)
def messaggio_inserisci_intervallo(min_val, max_val):
return "Inserisci un numero tra " + str(min_val) + " e " + str(max_val) + ":"
def messaggio_inserimento_non_corretto(inserimento):
return "Ma chi vuoi prendere in giro? '" + inserimento + "' non è un numero!"
def chiedi_numero(messaggio):
while True:
tentativo = input(messaggio)
try:
return int(tentativo)
except:
print(messaggio_inserimento_non_corretto(tentativo))
def chiedi_numero_in_intervallo(min_val, max_val):
numero = min_val - 1
while fuori_intervallo(numero, min_val, max_val):
numero = chiedi_numero(messaggio_inserisci_intervallo(min_val, max_val))
return numero
def messaggio_indovinato(numero_prove):
return "BRAVO!!!! Hai indovinato in " + str(numero_prove) + " tentativi."
def esci():
import sys
sys.exit()
def esci_se_uguale(obbiettivo, numero):
if numero == obbiettivo:
esci()
def messaggio_base_indizi():
return "Peccato non hai indovinato... prova ancora con un numero più "
def messaggio_info(numero_prove, obbiettivo, valore):
if valore == obbiettivo:
return messaggio_indovinato(numero_prove)
if valore > obbiettivo:
return messaggio_base_indizi() + "basso"
return messaggio_base_indizi() + "alto"
def stampa_info(numero_prove, obbiettivo, valore):
print(messaggio_info(numero_prove, obbiettivo, valore))
while True:
tentativi = tentativi + 1
stampa_intro(tentativi)
numero_provato = chiedi_numero_in_intervallo(minimo, massimo)
stampa_info(tentativi, numero_da_indovinare, numero_provato)
esci_se_uguale(numero_da_indovinare, numero_provato)