Hilfe, Anfängerfehler python 3.5

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DevAurora
User
Beiträge: 4
Registriert: Donnerstag 9. Juni 2016, 17:16

Hi,

ich verwende V3.5 und habe folgendes Problem unter diesem Script:

Code: Alles auswählen

print ("Hi, mein Name ist Aurora und wer bist du?")

vname = input("Vorname: ")
nname = input("Nachname: ")


print ("Ah du heisst also " + vname + " " + nname + " dein Name gefeallt mir, darf ich fragen wie alt du bist?")

alter = input ("Alter: ")
if  alter  > 40:
    print ("" + alter + ", stolzes Alter!")

elif   alter < 40:
    print ("" + alter + ", du junger Huepfer!")







input('Press ENTER to quit ...')
Bei der Ausführung kommt folgende Fehlermeldung:

Hi, mein Name ist Aurora und wer bist du?
Vorname: as
Nachname: as
Ah du heisst also as as dein Name gefeallt mir, darf ich fragen wie alt du bist?
Alter: 32
Traceback (most recent call last):
File "C:\Users\Cuyl\Source\Repos\Change AG\PythonApplication1\PythonApplication1\PythonApplication1.py", line 10, in <module>
if alter > 40:
TypeError: unorderable types: str() > int()
Press any key to continue . . .


Dazu muss ich sagen dass ich noch recht unerfahren bin und es vermutlich ein Logikfehler ist im Bezug auf
if alter > 40:

Also bitte schlagt mir nicht gleich den Kopf ab^^

Mit herzlichen Grüßen

AuroraDEV
Zuletzt geändert von Anonymous am Dienstag 28. Juni 2016, 11:40, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@DevAurora: Die Meldung versucht Dir zu sagen das Zeichenketten und Zahlen nicht auf kleiner/grösser vergleichbar sind. Du willst Zahlen miteinander vergleichen, also müssen auch beide Operanden von ``>`` Zahlen sein und nicht einer eine Zeichenkette die der Benutzer eingegeben hat und der andere eine Zahl die literal im Programm steht. Du musst die Zeichenkette vom Benutzer also in eine Zahl umwandeln.

Weitere Anmerkungen: Namen sollte man nicht abkürzen. Wenn Du `vorname` meinst, solltest Du nicht `vname` schreiben. Zwischen Funktionsname und öffnender Klammer beim Aufruf gehört kein Leerzeichen. Zeichenketten und Werte mit ``+`` zusammenstückeln ist eher BASIC als Python. Python kennt dafür Zeichenkettenformatierung mit der `format()`-Methode. Die leere Zeichenkette am Anfang der beiden Ausgaben bei dem Alter ist sinnfrei.

Mit Leuten die 40 sind redest Du gar nicht erst? ;-)
DevAurora
User
Beiträge: 4
Registriert: Donnerstag 9. Juni 2016, 17:16

Hi,

danke für die rasche Antwort und für weitere Tipps! Und wie gehe ich dort am besten vor?

Naja, das ist gerade eigentlich nur ein persönlicher Einstieg muss man nicht verstehen^^

Beste Grüße
DevAurora
User
Beiträge: 4
Registriert: Donnerstag 9. Juni 2016, 17:16

erledigt! ;)
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Ist immer nett, wenn man nicht nur "erledigt" schreibt, sondern auch zeigt, wie man es erledigt hat. Dann können andere Anfänger daraus lernen und die Profis vielleicht weitere Tipps geben. :wink: Ansonsten willkommen im Forum und bei Python und viel Spaß weiterhin damit!
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Antworten