raw_input Funktion in Python

117

Was ist die raw_inputFunktion? Ist es eine Benutzeroberfläche? Wann benutzen wir es?

Janezcka
quelle
6
Verwenden Sie input()stattdessen. Die Funktion raw_inputist in Python nicht mehr enthalten.
Robino
1
In Verbindung stehender Beitrag - Wie verwende ich raw_input in Python 3
RBT

Antworten:

142

Es zeigt dem Benutzer eine Eingabeaufforderung an (optional argvon raw_input([arg])), erhält Eingaben vom Benutzer und gibt die vom Benutzer eingegebenen Daten in einer Zeichenfolge zurück. Siehe die Dokumente für raw_input().

Beispiel:

name = raw_input("What is your name? ")
print "Hello, %s." % name

Dies unterscheidet sich input() darin, dass dieser versucht, die vom Benutzer gegebenen Eingaben zu interpretieren; Es ist normalerweise am besten, einen benutzerdefinierten Parsing- / Konvertierungscode zu vermeiden input()und raw_input()beizubehalten.

Hinweis: Dies gilt für Python 2.x.

Andrea Spadaccini
quelle
5
Für Python 3: Name = Eingabe ("Wie ist Ihr Name?") Drucken ("Hallo,% s."% Name)
Trevor McCormick
4

Die Funktion "Eingabe" konvertiert die eingegebene Eingabe so, als wäre es Python-Code. "raw_input" konvertiert die Eingabe nicht und nimmt die Eingabe so, wie sie angegeben ist. Es ist ratsam, raw_input für alles zu verwenden. Verwendung:

>>a = raw_input()
>>5
>>a
>>'5'
Sreenivas
quelle
4

raw_input ist eine Eingabeform, die das Argument in Form einer Zeichenfolge annimmt, während die Eingabefunktion den Wert abhängig von Ihrer Eingabe annimmt. Angenommen, a = input (5) gibt a als Ganzzahl mit dem Wert 5 zurück, während a = raw_input (5) a als Zeichenfolge von "5" zurückgibt.

Nishant Kohli
quelle
1

Eine weitere Beispielmethode, um die Eingabeaufforderung mit print zu mischen, wenn Sie Ihren Code einfacher gestalten möchten.

Format:-

x = raw_input () - Dies gibt die Benutzereingabe als Zeichenfolge zurück

x = int (raw_input ()) - Ruft die Eingabenummer als Zeichenfolge von raw_input () ab und konvertiert sie dann mit int () in eine Ganzzahl.

print '\nWhat\'s your name ?', 
name = raw_input('--> ')
print '\nHow old are you, %s?' % name,
age = int(raw_input())
print '\nHow tall are you (in cms), %s?' % name,
height = int(raw_input())
print '\nHow much do you weigh (in kgs), %s?' % name,
weight = int(raw_input())

print '\nSo, %s is %d years old, %d cms tall and weighs %d kgs.\n' %(
name, age, height, weight)
Kapil Marwaha
quelle
-1

Wenn ich raw_input so lasse, kein Josh oder irgendetwas anderes. Es ist eine Variable, denke ich, aber ich verstehe ihre Rolle nicht :-(

Die Funktion raw_input fordert Sie zur Eingabe auf und gibt diese als Zeichenfolge zurück. Das hat bei mir sicherlich funktioniert. Du brauchst keinen Leerlauf. Öffnen Sie einfach eine "DOS-Eingabeaufforderung" und führen Sie das Programm aus.

So sah es für mich aus:

C:\temp>type test.py
print "Halt!"
s = raw_input("Who Goes there? ")
print "You may pass,", s

C:\temp>python test.py
Halt!
Who Goes there? Magnus
You may pass, Magnus

Ich tippe meinen Namen und drücke [Enter], nachdem das Programm "Who Goes there?"

Loller
quelle