semantisches_netz = [ ("Säugetier", "Tier"), ("Fisch", "Tier"), ("Karpfen", "Fisch"), ("Hase", "Säugetier"), ("Hund", "Säugetier"), ("Dackel", "Hund"), ("Bär", "Säugetier"), ("Tier","Lebewesen"), ("Panda", "Bär"), ("Goldfisch", "Fisch") ] # Überprüft, ob ein A ein B ist. # Kann keine Schlüsse ziehen. def wissen_ist_ein(a, b): # zb Dackel Tier if (a, b) in semantisches_netz: return True return False # Überprüft, ob ein A ein B ist. # Kann schlussfolgern, dass ein A ein B ist, wenn ein # A ein C ist und dieses C wiederum ein B ist. def schlussfolgern_ist_ein(a, b): # zb Dackel Tier print("schlussfolgern ist ein " + a + " ein " + b) for element in semantisches_netz: if element[0] == a: if element[1] == b: return True elif schlussfolgern_ist_ein(element[1], b): # zb Hund Tier return True return False input1 = input("Gib ein Tier ein (A): ") input2 = input("Gib noch ein Tier ein (B): ") print("Ist A ein B?") if schlussfolgern_ist_ein(input1, input2): print("ja") else: print("nein") #print(wissen_ist_ein("Dackel", "Tier")) #print(wissen_ist_ein("Dackel", "Hund")) #print(schlussfolgern_ist_ein("Dackel", "Tier")) #print(schlussfolgern_ist_ein("Dackel", "Hund"))