Szanowni Forumowicze , przerobiłem trochę kod akinatora, z internetu, ale nie za bardzo rozumiem działanie w definicji wartości PROPERTY. Jak dobrze rozumiem property przyjmuje wartości value ze słownika. Czy ktoś mógłby i wytłumaczyć jak ją zrozumieć albo podesłać linka gdzie moge o niej poczytać. z góry dzuiękuję
bazadanych = [
{"imię":"Paweł Stelmach", "człowiek":True, "zwierzak":False, "bogaty": False, "znany": False, "Polak": True, "wąsy": False, "włosy":False,
"mądry":False, "nauczyciel": True, "malarz": False, "piłkarz": False , "polityk": False,"żyje":True, "zły":False, "żołnierz": False},
{"imię":"Józef Poniatowski", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": True, "wąsy": True, "włosy":True,
"mądry":True, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": True,"żyje":False, "zły":False, "żołnierz": True},
{"imię":"Jan Matejko", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": True, "wąsy": True, "włosy":True,
"mądry":True, "nauczyciel": False, "malarz": True, "piłkarz": False , "polityk": False,"żyje":False, "zły":False, "żołnierz": False},
{"imię":"Robert Lewandowski", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": True, "wąsy": False, "włosy":True,
"mądry":True, "nauczyciel": False, "malarz": False, "piłkarz": True , "polityk": False,"żyje":True, "zły":False, "żołnierz": False},
{"imię":"Donald Trump", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": False, "wąsy": False, "włosy":True,
"mądry":False, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": True,"żyje":True, "zły":True, "żołnierz": False},
{"imię":"Shrek", "człowiek":False, "zwierzak":False, "bogaty": False, "znany": True, "Polak": False, "wąsy": False, "włosy":False,
"mądry":False, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": False,"żyje":False, "zły":False, "żołnierz": False},
{"imię":"Pies Szarik", "człowiek":False, "zwierzak":True, "bogaty": False, "znany": True, "Polak": True, "wąsy": False, "włosy":True,
"mądry":True, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": False,"żyje":False, "zły":False, "żołnierz": True},
{"imię":"Komar", "człowiek":False, "zwierzak":True, "bogaty": False, "znany": False, "Polak": True, "wąsy": False, "włosy":False,
"mądry":False, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": False,"żyje":True, "zły":True, "żołnierz": False},
{"imię":"Adolf Hitler", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": False, "wąsy": True, "włosy":True,
"mądry":False, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": True,"żyje":False, "zły":True, "żołnierz": True},
{"imię":"Józef Stalin", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": False, "wąsy": True, "włosy":True,
"mądry":False, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": True,"żyje":False, "zły":True, "żołnierz": False},
{"imię":"Benito Mussolini", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": False, "wąsy": False, "włosy":False,
"mądry":False, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": True,"żyje":False, "zły":True, "żołnierz": True},
{"imię":"Napoleon Bonaparte", "człowiek":True, "zwierzak":False, "bogaty": True, "znany": True, "Polak": False, "wąsy": False, "włosy":True,
"mądry":True, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": True,"żyje":False, "zły":False, "żołnierz": True},
{"imię":"Mikołaj Kopernik", "człowiek":True, "zwierzak":False, "bogaty": False, "znany": True, "Polak": True, "wąsy": False, "włosy":True,
"mądry":True, "nauczyciel": False, "malarz": False, "piłkarz": False , "polityk": False,"żyje":False, "zły":False, "żołnierz": False},
]
def zgaduj(answer, property):
if answer == "t":
odp = True
else:
odp = False
do_usuniecia=[]
for x in bazadanych:
if x[property] != odp:
do_usuniecia.append(x)
for y in do_usuniecia:
bazadanych.remove(y)
if len(bazadanych) == 1:
print("Twoja postać to "+bazadanych[0]["imię"])
quit()
odp = input("Czy Twoja postać jest człowiekiem?(t,n)")
zgaduj(odp, "człowiek")
odp = input("Czy Twoja postać jest zwierzakiem?(t,n)")
zgaduj(odp, "zwierzak")
odp = input("Czy Twoja postać jest bogata?(t,n)")
zgaduj(odp,"bogaty")
odp = input("Czy Twoja postać jest znana?(t,n)")
zgaduj(odp,"znany")
odp = input("Czy Twoja postać jest Polakiem?(t,n)")
zgaduj(odp,"Polak")
odp = input("Czy Twoja postać ma wąsy?(t,n)")
zgaduj(odp,"wąsy")
odp = input("Czy Twoja postać ma włosy?(t,n)")
zgaduj(odp,"włosy")
odp = input("Czy Twoja postać jest mądra?(t,n)")
zgaduj(odp,"mądry")
odp = input("Czy Twoja postać jest nauczycielem?(t,n)")
zgaduj(odp,"nauczyciel")
odp = input("Czy Twoja postać jest piłkarzem?(t,n)")
zgaduj(odp,"piłkarz")
odp = input("Czy Twoja postać jest malarzem?(t,n)")
zgaduj(odp,"malarz")
odp = input("Czy Twoja postać jest politykiem?(t,n)")
zgaduj(odp,"polityk")
odp = input("Czy Twoja postać żyje?(t,n)")
zgaduj(odp,"żyje")
odp = input("Czy Twoja postać jest zła?(t,n)")
zgaduj(odp,"zły")
odp = input("Czy Twoja postać jest żołnierzem?(t,n)")
zgaduj(odp,"żołnierz")