NameError: name 'raw_input' is not defined

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
lukasletitburn
User
Beiträge: 9
Registriert: Montag 27. August 2012, 21:07

Hallo Freunde,

ich habe eben ein kleines Programm zur Kontrollstruktur geschrieben:

Code: Alles auswählen

#!/usr/bin/python

zahl = 23
geraten = int(raw_input("Geben Sie eine ganze Zahl ein: "))

if geraten == zahl:
        print("Gluekwunsch, Sie haben es erraten.") # Hier faengt ein neuer Block an
        print("Aber Sie gewinnen leider keinen Preis!") #hier hoert der neue Block auf
elif geraten < zahl:
        print("Nein, die Zahl ist etwas hoeher.") # noch ein Block
        # Sie koennen in dem Block tun, was sie wolllen...
else:
        print("Nein, die Zahl ist etwas niedriger:")
        # hierhin gelangt man, wenn man geraten > zahl ist
print("Fertig")
# Diese letzte Anweisung wird immer am Ende nach der if-Anweisung ausgefuehrt
bei der Ausführung beendet er dies aber sofort mit:

Code: Alles auswählen

Traceback (most recent call last):
  File "if.py", line 4, in <module>
    geraten = int(raw_input("Geben Sie eine ganze Zahl ein: "))
NameError: name 'raw_input' is not defined
wenn ich den Code jedoch verändere und bei Line 4 das

Code: Alles auswählen

raw_ 
entferne akzeptiert er den Code. Wird nur noch mit input alleine gearbeitet? Hat raw_input keine Relevanz mehr?

Ich editiere mit vim und python 3.2.3 auf einem amd64 System mit Gentoo.

Muss ich damit ich

Code: Alles auswählen

raw_input
nutzen kann erst noch Bibliotheken oder Module nachinstallieren?? bzw. was für Bibliothelen und Module benötigt man generell?
Zuletzt geändert von lukasletitburn am Samstag 1. September 2012, 09:24, insgesamt 1-mal geändert.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

raw_input wurde in Python3 zu input umbenannt. Das input aus Python2 existiert in Python3 nicht mehr (aus Sicherheitsgründen).
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

`raw_input` existiert in Python 3 nicht mehr und wurde dort in `input` umbenannt. Du hast wahrscheinlich ein älteres Tutorial gelesen, aus dem nicht hervorgeht, dass es für Python 2 geschrieben wurde, oder sowas ähnliches.
Antworten