Je voudrais lire les données du clavier en python
J'essaye ceci:
nb = input('Choose a number')
print ('Number%s \n' % (nb))
Mais ça ne marche pas, ni avec eclipse ni dans le terminal, c'est toujours l'arrêt de la question. Je peux taper un nombre mais après rien ne se passe.
Est-ce que tu sais pourquoi?
Réponses:
essayer
et si vous voulez avoir une valeur numérique, convertissez-la simplement:
la source
Il semble que vous mélangez différents Pythons ici (Python 2.x vs Python 3.x) ... C'est fondamentalement correct:
Le problème est qu'il n'est pris en charge qu'en Python 3. Comme @sharpner l'a répondu, pour les anciennes versions de Python (2.x), vous devez utiliser la fonction
raw_input
:Si vous souhaitez convertir cela en nombre, vous devriez essayer:
... mais vous devez tenir compte du fait que cela peut soulever une exception:
Et si vous souhaitez imprimer le nombre en utilisant le formatage, en Python 3
str.format()
est recommandé:Au lieu de:
Mais les deux options (
str.format()
et%
) fonctionnent à la fois dans Python 2.7 et Python 3.la source
space
après votre chaîne pour que l'utilisateur entre son entrée en cas de paix.Enter Tel12340404
vsEnter Tel: 12340404
. voir! : PExemple non bloquant et multithread:
Comme le blocage de la saisie au clavier (depuis les
input()
blocs fonctionnels) n'est souvent pas ce que nous voulons faire (nous aimerions souvent continuer à faire d'autres choses), voici un exemple multithread très simplifié pour montrer comment continuer à exécuter votre application principale tout en lisant les entrées du clavier à chaque fois qu'elles arrivent .Cela fonctionne en créant un thread à exécuter en arrière-plan, en appelant continuellement
input()
et en passant toutes les données qu'il reçoit à une file d'attente.De cette façon, votre thread principal doit faire tout ce qu'il veut, recevant les données d'entrée du clavier du premier thread chaque fois qu'il y a quelque chose dans la file d'attente.
1. Exemple de code Bare Python 3 (sans commentaires):
2. Même code Python 3 que ci-dessus, mais avec de nombreux commentaires explicatifs:
Exemple de sortie:
Références:
Liés / croisés:
la source
input([prompt])
est équivalenteval(raw_input(prompt))
et disponible depuis python 2.6Comme il n'est pas sûr (à cause de eval), raw_input doit être préféré pour les applications critiques.
la source
raw_input
a été renomméinput
et n'évalue PAS.Cela devrait fonctionner
la source
input()
?