Python 3.30 TypeError: object of type 'int' has no len()
Hier ist die Fehlermeldung die ich bekomme for i in range(len(n))
:
TypeError: object of type 'int' has no len()
Habe ich gesehen, die anderen posts hier, aber habe noch nicht gefunden, die Lösung noch nicht.
Ich bin verwirrt. Bitte Kommentar, wenn Sie wissen, was hier Los ist.
Hier ist mein code:
#ch6.ex11.py
def squareEach(x):
sqrt = x*x
return sqrt
def main():
n = []
n = eval(input("Enter a list of numbers to be squared seperated by comma:\n"))
i = 1
sqrtn = ()
for i in range(len(n)):
sqrtn = squareEach(n)
++i
print("Here's your results: ",sqrtn)
main()
n
erscheint ein integer sein, nicht eine Liste, so hat es keine__len__
Attribut.- Dein code hat mehrere Probleme. Sie tun einem
for
über ein Python-Bereich, brauchen Sie nicht zu erhöheni
, geschieht es für Sie, denn Sie sind das abrufen von jeder Zahl aus einer Sequenz0-n
.squareEach
wird nicht Quadrat jede Zahl, es ist nicht ausgestattet, Durchlaufen Sie die Eingabe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
n
ist eine ganze Zahl. Sie möchtenDies ist, was ich denke, Sie versuchen zu tun:
oder verwenden Sie die for-Schleife wie:
oder Quadrat jedes element, das Sie tun können:
Es scheint, dass Sie dies möglicherweise tun möchten:
Gut, dein code hat ein paar Probleme:
i++
ist nicht gültig in Python. Das Python-äquivalent zu es isti += 1
.Auch, Python führt alle Codezeilen in einem Skript, so brauchen Sie nicht eine
main()
Funktion in jedem Python-Programm, aber es gibt einige Fälle, möchten Sie vielleicht, es zu benutzen.Etwas, was Sie sonst noch tun können: