-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmastermind.py
67 lines (55 loc) · 1.67 KB
/
mastermind.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
# Author: Aylin Gumus <aylingumus7@gmail.com>
# License: MIT
import random
import collections
seviyeler = collections.OrderedDict([
("kolay", 3),
("orta", 5),
("zor", 7)
])
print(*seviyeler.keys())
seviye = input("zorluk seviyesi seciniz: ")
if seviye in seviyeler:
zorluk = seviyeler[seviye]
print("seviye secildi: ", seviye)
else:
zorluk = seviyeler["orta"]
print("ontanimli seviye secildi: orta")
def girdi ():
while True:
sonuc = input("{} sayi giriniz :".format(zorluk))
if sonuc.lower() in ("exit", "e"):
print("programdan cikiliyor")
exit(0)
sonuc_liste = list(sonuc)
try:
sonuc_int = [int(i) for i in sonuc_liste]
except ValueError as e:
print("HATA: sayi giriniz!")
continue
if len(sonuc_int) != zorluk:
print("HATA: {} sayi giriniz".format(zorluk))
continue
else:
return sonuc_int
liste = random.sample(range(10), zorluk)
for tur in range(10):
dogrular = []
yarimlar = []
sonuc_int = girdi()
for girilen, beklenen in zip(sonuc_int, liste):
if girilen == beklenen:
dogrular.append(girilen)
if girilen in yarimlar:
yarimlar.pop(yarimlar.index(girilen))
elif girilen in liste and girilen not in dogrular+yarimlar:
yarimlar.append(girilen)
print("dogru basamak sayisi = ", len(dogrular))
print("yarim dogru basamak sayisi = ", len(yarimlar))
print("kalan hak: ", 9-tur)
if len(dogrular) == zorluk:
print("tebrikler")
break
else:
print("game over")
print("dogru cevap: ", *liste)