Ich versuche derzeit, Python aus einem Buch zu lernen, und ich stoße auf ein Problem. Im Grunde soll ich ein Programm schreiben, um etwas zu tun, die Collatz-Sequenz genannt wird. Der Code lautet wie folgt:Konvertieren von Str in Int in Python
print("Please enter a number")
number = input()
int(number)
while number > 1:
collatz()
def collatz(number):
if number % 2 == 0:
number = number // 2
print(number)
return number
else:
number = 3 * number + 1
print(number)
return number
Also, wenn ich versuche, den Code oben auszuführen, habe ich folgende Ausgabe:
RESTART: C:/Users/Gillian/AppData/Local/Programs/Python/Python35-32/Collatz.py
Please enter a number
12
Traceback (most recent call last): File "C:/Users/Gillian/AppData/Local/Programs/Python/Python35-32/Collatz.py", line 6, in
while number > 1:
TypeError: unorderable types: str() > int() Blockquote
Offensichtlich meine Variable wird als String gelesen werden, wenn es sein sollte eine ganze Zahl. Meine Frage ist - warum? Ich dachte, dass der Teil in Zeile 4, wo ich den Datentyp von Zahl zu int ändere, das beheben sollte, aber es tat es nicht.
Die Anweisungen für das, was ich zu erreichen versuche, wenn das für meine Frage wichtig ist, sind here am Ende der Seite.
Sie geben das Ergebnis von 'int (number)' nichts zu. Berücksichtigen Sie 'number = int (number)'. – larsks
Super, danke. –