Seite 1 von 1
for in range
Verfasst: Montag 1. Januar 2018, 13:43
von michi-monster
Halli, ich bin ein Python - Neuling.
Habe gerade versucht eine Aufgabe aus einem Buch zu machen. Leider funktioniert es nicht. Allerdings kommt kein Fehler.
Es soll eine Liste von inch-Werten mit Umrechnung in cm erstellt werden. Mit 5 Inch Abstand.
So:
15 inch = 38.1 cm
20 inch = 50.8 cm
etc,
Meine bisherige Datei:
Wo liegt der Fehler?
Re: for in range
Verfasst: Montag 1. Januar 2018, 13:56
von __deets__
Du hast diverse Fehler.
Zum einen definierst du den Umrechnungsfaktor als Tupel (2, 54) Weile du ein Komma verwendest. Benutze einen Punkt.
Zum anderen musst du die Berechnung schon IN der Schleife machen. Nicht nur einmal davor.
Re: for in range
Verfasst: Montag 1. Januar 2018, 14:24
von michi-monster
ok, danke. Da bin ich schonmal weiter. Leider zeigt er jetzt nur das Ergebnis für die erste Zahl an. So wie ich es verstanden habe, sollten doch die Zahlen von 15 - 45 zur Berechnung genonmmen werden, oder? Wo hängt es jetzt?
Re: for in range
Verfasst: Montag 1. Januar 2018, 14:27
von __deets__
Habe ich dir schon geschrieben. Du musst schon meine ganze Antwort lesen.
Re: for in range
Verfasst: Dienstag 2. Januar 2018, 17:49
von nono191
Wieso erwartest du dass das in der for Schleife irgendetwas berechnet?
Code: Alles auswählen
a = 15 # a == 15
b = a * 2.54 # b == 15 * 2.54 == 38.1
# Du überschreibst die Variable a:
for a in range(15, 45, 5): # Jedes fünfte Element
print(b) # Du gibst b aus.
Code: Alles auswählen
>>> a = 15
>>> b = a * 2.54
>>> print(b) == print(38.1)
38.1
38.1
True
Code: Alles auswählen
>>> list(range(15, 45, 5))
[15, 20, 25, 30, 35, 40]
>>> for i in range(15, 45, 5):
... print(i)
15
20
25
30
35
40
Python Dokumentation zu Range
Python Dokumentation zu Funktionen
Hoffe du kommst damit weiter und viel Erfolg.

nono
Re: for in range
Verfasst: Dienstag 2. Januar 2018, 18:09
von narpfel
Re: for in range
Verfasst: Dienstag 2. Januar 2018, 18:24
von nono191
@narpfel
Oops hab mich schon gefreut dass es ging...
Jedoch
Code: Alles auswählen
>>> a = 15
>>> b = a * 2.54
>>> for i in range(15, 45, 5):
... print("for a in range(15, 45, 5): # a == ", i,
... "\n\tprint(b) # b == ", b)
# Die verschiedenen Durchläufe der for Schleife
for a in range(15, 45, 5): # a == 15
print(b) # b == 38.1
for a in range(15, 45, 5): # a == 20
print(b) # b == 38.1
for a in range(15, 45, 5): # a == 25
print(b) # b == 38.1
for a in range(15, 45, 5): # a == 30
print(b) # b == 38.1
for a in range(15, 45, 5): # a == 35
print(b) # b == 38.1
for a in range(15, 45, 5): # a == 40
print(b) # b == 38.1
Re: for in range
Verfasst: Dienstag 2. Januar 2018, 18:56
von __deets__
Bitte gaaaanz schnell vergessen, das es den python-kurs.eu gibt. Der ist Mist. So hat "id" etwa genau *GARNIX* mit der Art einer Variablen zu tun. Das waere eher "type". Und dein Problem hat was mit der verwandten Python-Version zu tun, du benutzt 3, und da ist print eine Funktion, und nicht mehr ein statement. "print irgendwas" muss also umgewandelt werden zu "print(irgendwas)".
Re: for in range
Verfasst: Dienstag 2. Januar 2018, 18:59
von michi-monster
ok - dank dir. Mit der Seite bin ich jetzt auch ein wenig durcheinander geworden. Werd nochmal genauer in mein Buch schauen. Hast du denn nen Tipp für ne gute Seite?