função raw_input em Python

117

Qual é a raw_inputfunção? É uma interface de usuário? Quando o usamos?

Janezcka
fonte
6
Use em seu input()lugar. A função raw_inputnão está mais incluída no python.
Robino,
1
Postagem relacionada - Como faço para usar raw_input no Python 3
RBT

Respostas:

142

Ele apresenta um prompt ao usuário (o opcional argde raw_input([arg])), obtém a entrada do usuário e retorna a entrada de dados pelo usuário em uma string. Veja a documentação para raw_input().

Exemplo:

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

Isso difere de input() que o último tenta interpretar a entrada fornecida pelo usuário; geralmente é melhor evitar input()e raw_input()seguir um código personalizado de análise / conversão.

Observação: isso é para Python 2.x

Andrea Spadaccini
fonte
5
Para Python 3: name = input ("Qual é o seu nome?") Print ("Olá,% s."% Name)
Trevor McCormick
4

A função "input" converte a entrada que você insere como se fosse um código python. "raw_input" não converte a entrada e leva a entrada como é fornecida. É aconselhável usar raw_input para tudo. Uso:

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

raw_input é uma forma de entrada que recebe o argumento na forma de uma string, enquanto a função de entrada recebe o valor dependendo de sua entrada. Digamos que a = input (5) retorna a como um inteiro com valor 5, enquanto a = raw_input (5) retorna a como uma string de "5"

Nishant Kohli
fonte
1

Outro método de exemplo, para misturar o prompt usando print, se você precisar tornar seu código mais simples.

Formato:-

x = raw_input () - Isso retornará a entrada do usuário como uma string

x = int (raw_input ()) - Obtém o número de entrada como uma string de raw_input () e então o converte em um inteiro usando 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
fonte
-1

Se eu deixar raw_input assim, nada de Josh ou qualquer outra coisa. É uma variável, eu acho, mas não entendo o papel dela :-(

A função raw_input solicita a entrada e a retorna como uma string. Isso certamente funcionou para mim. Você não precisa ficar ocioso. Basta abrir um "prompt do DOS" e executar o programa.

Isso é o que parecia para mim:

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

Digitei meu nome e apertei [Enter] depois que o programa imprimiu "Who Goes there?"

Indolente
fonte