semantisches_netz = [ ("Säugetier", "****"), ("Fisch", "****"), ("Karpfen", "Fisch"), ("Hase", "Säugetier"), ("Hund", "Säugetier"), ("Dackel", "Hund"), ("Bär", "Säugetier"), ("****","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 **** 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 **** 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 **** return True return False input1 = input("Gib ein **** ein (A): ") input2 = input("Gib noch ein **** ein (B): ") print("Ist A ein B?") if schlussfolgern_ist_ein(input1, input2): print("ja") else: print("nein") #print(wissen_ist_ein("Dackel", "****")) #print(wissen_ist_ein("Dackel", "Hund")) #print(schlussfolgern_ist_ein("Dackel", "****")) #print(schlussfolgern_ist_ein("Dackel", "Hund"))