Verwenden Sie den Wert einer Variablen als Zähler in python 3
Möchte ich eine Eingabe vom Benutzer und speichern Sie in eine variable, sagen wir k
. Dann verwenden Sie diese k
als Zähler für eine for loop
.
while i<k:
funktioniert nicht!
code:
k= input('number of points:')
p=[]
i=0
while i<k:
x=float(input('Enter value='))
p.append(x)
i=i+1
Ausgabe:
number of points:3
Traceback (most recent call last):
File "/home/ramupradip/tes.py", line 4, in <module>
while i<k:
TypeError: unorderable types: int() < str()
Ich habe auch versucht mit range -
for i in range(1,k)
gab mir eine Fehlermeldung:
Traceback (most recent call last):
Datei "/home/ramupradip/reflect.py", line 6, in
for i in range(1,k):
TypeError: 'str' object kann nicht interpretiert werden als integer
- was ist die k.....? ist es
int
?Plz post-Fehler, dass Sie immer - ja. K ist eine ganze Zahl
- Bitte erklären, was "funktioniert nicht" bedeutet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen, den input wie diese:
... Ich denke, Sie vergessen, um die Zahl zu konvertieren, um
int
, aber es ist unmöglich zu sagen, wenn Sie zeigen nicht den relevanten code. Andere als die, die Schleifen-Konstrukten gezeigt, in die Frage sollte funktionieren, aber das erste ist bevorzugt in Python, nur vorsichtig sein, mit den Indizes:Äquivalent:
Dass macht keinen Sinn.
Sie wollen, könnten Sie dies:
Wo
k
ist die Gesamtzahl der Iterationen vom Benutzer eingestellt undi
ist ein Wert, der änderungen von0
zuk - 1
.Oder Sie möchten dieses:
Wo
k
ist ein Wert von0
zux - 1
und die Eingabe des Benutzers nichts zu bedeuten hat. Oder Sie möchten dieses:Wo
k
ist der start-Wert durch den Benutzerx
ist ein Wert vom Programm gesetzt undi
ist ein Wert, der beginntk
und endet inx - 1
Finden Sie in der Dokumentation für weitere Informationen http://docs.python.org/3/library/functions.html#func-range
i
dies entspricht nicht dem code in Frage. Es könnte möglich sein, die OP ist nur daran interessiert, loopingk
mal (wir können nicht sagen, nur anhand der aktuellen Frage), aber wenn wird eri
, der erwartete Startwert ist1
nach der Frage