def square_digits(num):
result = []
if num > 0:
result.append(num%10)
num= num//10
list = ''
for i in result:
list += str(i**2)
return int(list)
Dies ist eine kleine Funktion, die ich jede Ziffer einer Zahl zu quadrieren will, genau wie wenn ‚991'runs durch die Funktion‚81811‘kommen heraus. Aber ich bekomme immer die falsche Antwort "81". Kann jemand herausfinden, was passiert ist?Eine kleine Funktion in Python
check 'result' vor dem Start der' for'. Ich denke, Sie wollen wahrscheinlich den 'num // 10' Teil in einer Schleife wie beim Ersetzen von' for' durch 'while'. – Bernhard
Es funktioniert, wenn ich "if" in "while" zu einem gewissen Grad ändern, ich denke immer, wenn die gleiche Anweisung wie while zuvor. –
Vermeiden Sie 'list' als Variablennamen; Es ist der Name der eingebauten 'list()' -Funktion. –