ich bin's wieder die Nervensäge. Bin jetzt am Schreiben meiner ersten Programm und bin jetzt kurz vorm Abschluss beim Programm, das den größten gemeinsamen Teiler ermitteln soll aus zwei gegebenen Zahlenobjekten.
Meine Schwierigkeiten liegt im Umwandeln der Menge in eine Liste. Kann mir vielleicht bitte einmal jemand erklären, wo genau mein Fehler ist?
Ich gebe den folgenden Quelltext ein:
Code: Alles auswählen
#Herausfinden des ggT
a = int(input("Geben Sie eine Zahl a ein: "))
b = int(input("Geben Sie eine zweite Zahl b ein: "))
if a>=b and a%b == 0:
print("Der größte gemeinsame Teiler ist: ", b)
elif b>a and b%a == 0:
print("Der größte gemeinsame Teiler ist: ", a)
else:
a_Teiler = []
b_Teiler = []
for i in range(1,a):
if a%i == 0:
a_Teiler.append(i)
for i in range(1,b):
if b%i == 0:
b_Teiler.append(i)
a_Teiler = set(a_Teiler)
b_Teiler = set(b_Teiler)
def gK(a,b):
return a_Teiler.intersection(b_Teiler)
def ggT(gK):
gK = list(gK)
return max(gK)
print(" gemeinsame Teiler der Zahl sind: ", gK(a,b))
print(" Der größte gemeinsame Teiler ist: ",ggT(gK))
Code: Alles auswählen
Geben Sie eine Zahl a ein: 6
Geben Sie eine zweite Zahl b ein: 21
gemeinsame Teiler der Zahl sind: {1, 3}
Traceback (most recent call last):
File "C:/Users/juss/AppData/Local/Programs/Python/Python39/ggT.py", line 30, in <module>
print(" Der größte gemeinsame Teiler ist: ",ggT(gK))
File "C:/Users/juss/AppData/Local/Programs/Python/Python39/ggT.py", line 26, in ggT
gK = list(gK)
TypeError: 'function' object is not iterable