Code-Stücke können hier veröffentlicht werden.
huba
User
Beiträge: 3 Registriert: Sonntag 2. Februar 2014, 20:37
Sonntag 2. Februar 2014, 20:40
Hallo,
ich bin Python Neuling und habe eine Frage wieso bei diesem code:
Code: Alles auswählen
y=raw_input("Your age?: ");
if y <= 21:
print("%s? Wow! you're still quite young!" % y);
elif y >= 22: #Hier funktioniert <= und >= irgendwie nicht.
print("%s? Wow! You're quite old!" % y);
else:
print("%s? Okay Cool!" % y);
<= und >= funktionieren bei mir nicht. es kommt immer you're quite old!
Vielen Dank im vorraus!
Liebe Grüße,
Huba
Zuletzt geändert von Anonymous am Sonntag 2. Februar 2014, 21:22, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Sirius3
User
Beiträge: 17741 Registriert: Sonntag 21. Oktober 2012, 17:20
Sonntag 2. Februar 2014, 20:53
Hallo huba,
Du versuchst Strings mit Ints zu vergleichen. »raw_input« liefert einen String, den Du erst in ein Int verwandeln mußt:
»print« ist in Python 2 keine Funktion, also solltest Du auch keine Klammern schreiben, und alle Strichpunkte sind bei Dir überflüssig.
BlackJack
Sonntag 2. Februar 2014, 21:30
Ergänzend: Die ``;`` an den Zeilenenden sind überflüssig und ich wüsste ja gerne mal bei welchem Wert von `y` der ``else``-Zweig ausgeführt wird.
huba
User
Beiträge: 3 Registriert: Sonntag 2. Februar 2014, 20:37
Sonntag 2. Februar 2014, 22:01
Vielen Dank für die schnellen Antworten!
mein else Zweig ist natürlich ziemlich idiotisch
das mit 'int' habe ich leider nicht bedacht :-/ Danke!
LG
Huba
cofi
Python-Forum Veteran
Beiträge: 4432 Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0
Sonntag 2. Februar 2014, 22:08
@BlackJack Darum ist doch auch die Antwort, dass der Wert cool ist!
huba
User
Beiträge: 3 Registriert: Sonntag 2. Februar 2014, 20:37
Sonntag 2. Februar 2014, 22:24
PS
";" habe ich verschwinden lassen! Nochmals Danke!
Kurze Frage wo genau kann ich jetzt die Klammern weglassen?
Sorry für die dummen Fragen :/
cofi
Python-Forum Veteran
Beiträge: 4432 Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0
Sonntag 2. Februar 2014, 22:27
Es gibt keine dummen Fragen. Das wichtigste, das du lernen kannst ist aber, den interaktiven Interpreter herzunehmen und zu probieren.
Konkret zeigt `raw_input`, dass du Python 2 benutzt, in Python 2 ist `print` aber keine Funktion. Darum solltest du dort die Klammern weglassen.
Probiere zum Beispiel mal `print(1,2)` und `print 1, 2` aus.
Astorek
User
Beiträge: 72 Registriert: Samstag 24. Januar 2009, 15:06
Kontaktdaten:
Donnerstag 1. Januar 2015, 12:13
Ich möchte mich mal hier kurz wegen der "Print in Klammern"-Sache einmischen: Und was ist, wenn man (aus welchen Gründen auch immer) Kompatibilität zu Python2 UND Python3 halten möchte?
Man kann die Print-Anweisungen ja auch so schreiben, dass die Ausgabe in beiden Python-Versionen exakt gleich sind... :K
Astorek
User
Beiträge: 72 Registriert: Samstag 24. Januar 2009, 15:06
Kontaktdaten:
Donnerstag 1. Januar 2015, 15:59
@Sirius3: Ah, das ist eine schöne Variante. Danke für den Tipp, den kannte ich auch noch nicht^^.
BlackJack
Donnerstag 1. Januar 2015, 16:05
@Astorek: `absolute_import` und `division` importiere ich an der Stelle auch immer gleich aus dem `__future__`-Modul.