# strange def strange(p): def stop(p, x): # Annahme: es gibt die Funktion stop, die den Booleschen Wert # True liefert, falls Programm p mit Eingabedaten x haelt. # Andernfalls liefert stop den Booleschen Wert False. ans = input('Annahme: strange terminiert ') if ans == 'y': return True else: if ans == 'n': return False if stop(p, p): while True: pass else: return False # Eingabe Quelltext p p = """ # strange def strange(p): def stop(p, x): # Annahme: es gibt die Funktion stop, die den Booleschen Wert # True liefert, falls Programm p mit Eingabedaten x hält. # Andernfalls liefert stop den Booleschen Wert False. ans = input('Annahme: strange terminiert ') if ans == 'y': return True else: if ans == 'n': return False if stop(p,p): while True: pass else: return False """ if strange(p) == False: print('strange, angewandt auf den eigenen Quelltext, terminiert.') else: print('strange, angewandt auf den eigenen Quelltext, terminiert nicht.')