Funkcja raw_input w Pythonie

117

Jaka jest raw_inputfunkcja? Czy to interfejs użytkownika? Kiedy go używamy?

Janezcka
źródło
6
Użyj input()zamiast tego. Funkcja raw_inputnie jest już zawarta w Pythonie.
Robino,
1
Powiązany post - Jak używać raw_input w Pythonie 3
RBT

Odpowiedzi:

142

Przedstawia się monit do użytkownika (opcjonalnie argz raw_input([arg])), pobiera dane od użytkownika i zwraca wprowadzania danych przez użytkownika w ciąg. Zobacz dokumentację dla raw_input().

Przykład:

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

Różni się to od input() tego, że ten ostatni próbuje zinterpretować dane wejściowe podane przez użytkownika; zazwyczaj najlepiej jest unikać input()i trzymać się raw_input()niestandardowego kodu parsowania / konwersji.

Uwaga: to jest dla Pythona 2.x.

Andrea Spadaccini
źródło
5
Dla Pythona 3: name = input ("Jak masz na imię?") Print ("Witaj,% s."% Name)
Trevor McCormick
4

Funkcja „input” konwertuje wprowadzone dane wejściowe tak, jakby były kodem Pythona. „raw_input” nie konwertuje danych wejściowych i przyjmuje je w takiej postaci, w jakiej zostały podane. Zalecane jest używanie do wszystkiego raw_input. Stosowanie:

>>a = raw_input()
>>5
>>a
>>'5'
Sreenivas
źródło
4

raw_input to forma danych wejściowych, która przyjmuje argument w postaci łańcucha, podczas gdy funkcja wejściowa przyjmuje wartość zależną od danych wejściowych. Powiedzmy, a = input (5) zwraca a jako liczbę całkowitą o wartości 5, podczas gdy a = raw_input (5) zwraca jako ciąg „5”

Nishant Kohli
źródło
1

Inna przykładowa metoda, polegająca na mieszaniu podpowiedzi za pomocą print, jeśli chcesz uprościć kod.

Format:-

x = raw_input () - Zwróci dane wejściowe użytkownika jako ciąg

x = int (raw_input ()) - Pobiera liczbę wejściową jako ciąg znaków z funkcji raw_input (), a następnie konwertuje ją na liczbę całkowitą za pomocą funkcji int ().

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
źródło
-1

Jeśli pozwolę raw_input w ten sposób, żadnego Josha ani niczego innego. Myślę, że to zmienna, ale nie rozumiem jej rolki :-(

Funkcja raw_input monituje o wprowadzenie danych i zwraca je jako ciąg. To z pewnością zadziałało dla mnie. Nie potrzebujesz bezczynności. Po prostu otwórz "znak zachęty DOS" i uruchom program.

Tak to wyglądało dla mnie:

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

Wpisałem swoje imię i nacisnąłem [Enter] po wydrukowaniu przez program "Kto tam idzie?"

Loller
źródło