Hallo leute,
ich bin gerade dabei Python zu lernen und befinde mich im Abschnitt "Verzweigungen" eigentlich soweit ganz klar.
Aber ich bekomm den beispiel code nicht zum laufen. Könnte sich vielleicht jemand erbarmen und mir erklären woran es liegt,
was mache ich falsch bzw. was stimmt an dem code nicht?
age = input("Alter des Hundes: ")
if age < 0:
print("Das stimmt wohl kaum!")
elif age == 1:
print("entspricht ca 14 Jahren")
elif age == 2:
print("entspricht ca 22 Jahren")
elif age > 2:
mensch = 22 + (age -2)*5
print("Menschenjahre", mensch)
###
raw_input('press Return>')
Original code aus dem buch sieht so aus, dazu hätte ich noch ein paar fragen:
age = input("Alter des Hundes: ")
print
if age < 0:
print "Das stimmt wohl kaum!"
elif age == 1:
print "entspricht ca 14 Jahren"
elif age == 2:
print "entspricht ca 22 Jahren"
elif age > 2:
mensch = 22 + (age -2)*5
print "Menschenjahre", mensch
###
raw_input('press Return>')
frage 1: warum steht "print" in zeile 2?
frage 2: warum haben die print ausgaben unter den Verzweigungen keine Klammern?
haben die beim buch schreiben vielleicht ein Fehler gemacht?
Fehler ausgabe bei mir ist immer in line 3: '<' not supported between instances of 'str' and 'int'
Im prinzip verstehe ich schon das "kleiner als" und "grösser als" da nicht hingehört.. aber so steht es halt als beispiel im buch.
schonmal vielen dank für jedweige hilfestellung.
Super Anfänger frage
Bitte in Zukunft die Code-Tags benutzen, damit dein Code lesbar bleibt, inklusive der relevanten Einrueckungen.
Und zu deinem Problem: du benutzt Python 3 (gut) aber dein Buch noch Python 2. Das hat zur Folge, dass input sich anders verhaelt. Das input in Python 3 ist das raw_input aus Python 2, und damit wird die Eingabe IMMER als String zurueckgeliefert. Es ist in dem Moment deine Aufgabe, den String in die benoetigte Ganzzahl zu wandeln. Das einfachste dazu ist ein
Und zu deinem Problem: du benutzt Python 3 (gut) aber dein Buch noch Python 2. Das hat zur Folge, dass input sich anders verhaelt. Das input in Python 3 ist das raw_input aus Python 2, und damit wird die Eingabe IMMER als String zurueckgeliefert. Es ist in dem Moment deine Aufgabe, den String in die benoetigte Ganzzahl zu wandeln. Das einfachste dazu ist ein
Code: Alles auswählen
age = int(input("Alter des Hundes:"))
Das Beispiel aus dem Buch ist in Python 2 geschrieben, daher die Unterschiede. Aber gut, dass du Python 3 verwendest. Ein einzelnes print() ohne Parameter gibt eine Leerzeile aus. Und ein Menschenjahr entspricht meines Wissens sieben Hundejahren.