python - guia - qgis manual
¿Cómo leer la entrada de teclado? (4)
Esto debería funcionar
yourvar = input(''Choose a number: '')
print(''you entered: '' + yourvar)
Me gustaría leer datos del teclado en python
Intento esto:
nb = input(''Choose a number'')
print (''Number%s /n'' % (nb))
y éste :
conv = BufferedReader (InputStreamReader(System.inputStream))
nb = conv.readLine()
print (''Number %s /n'' % (nb))
Pero nada funciona, ni con el eclipse ni en la terminal, siempre se detiene la pregunta. Puedo escribir un número pero después de que nada suceda.
¿Sabes por qué?
Parece que estás mezclando diferentes pitones aquí (Python 2.x contra Python 3.x) ... Esto es básicamente correcto:
nb = input(''Choose a number: '')
El problema es que solo es compatible con Python 3. Como respondió @sharpner, para versiones anteriores de Python (2.x), debe usar la función raw_input
:
nb = raw_input(''Choose a number: '')
Si desea convertir eso a un número, entonces debe intentar:
number = int(nb)
... aunque debes tener en cuenta que esto puede generar una excepción:
try:
number = int(nb)
except ValueError:
print("Invalid number")
Y si desea imprimir el número usando el formato, en Python 3 se recomienda str.format()
:
print("Number: {0}/n".format(number))
En lugar de:
print(''Number %s /n'' % (nb))
Pero ambas opciones ( str.format()
y %
) funcionan tanto en Python 2.7 como en Python 3.
tratar
raw_input(''Enter your input:'') # If you use Python 2
input(''Enter your input:'') # If you use Python 3
y si quiere tener un valor numérico, simplemente conviértalo:
try:
mode=int(raw_input(''Input:''))
except ValueError:
print "Not a number"
input([prompt])
es equivalente a eval(raw_input(prompt))
y está disponible desde python 2.6
Como no es seguro (debido a eval), se debe preferir raw_input para aplicaciones críticas.