Je tiens à lire à partir de STDIN Cinq chiffres entrés comme suit:
3, 4, 5, 1, 8 p>
dans des variables séparées A, B, C, D & E. P >
Comment puis-je faire cela dans Python? p>
J'ai essayé ceci: p> pour deux entiers, mais cela ne fonctionne pas. Je reçois: p> Comment faire cela? et supposons que je n'ai pas un nombre fixe mais variable N entiers. Alors? P> p>
4 Réponses :
sous Python 2.x uniquement strong> (*) Après une entrée () p> A est un tuple avec les 5 valeurs facilement analysées! p> Un moyen rapide d'affecter ces 5 valeurs est p> (*) avec Python Version 3.0? ou à coup sûr 3.1, l'entrée () fonctionne plus comme la méthode Raw_Input () de 2.x, ce qui le rend moins déroutant. (Merci Mshsayem de pointer cela!) p> p>
Dans Python 3.1 La fonction d'entrée n'est pas une entrée d'utilisateur "EVALY". Comme dans docs.python.org/3.1/Library/fonctions.html : "... La fonction lit ensuite une ligne à partir de l'entrée, la convertit à une chaîne (décapant une nouvelle ligne de fuite) et retourne qui ..."
Utilisez Raw_Input () code>
au lieu de Entrée () Code>.
>>> l = (1,2,3,4,5) >>> a,b,c,d,e = l >>> e 5
En Python 3.1 entrée () renvoie la chaîne.
Oui, mais l'affiche utilise évidemment 2.x
Si vous imprimez une (la variable contenant votre entrée), vous découvrirez qu'un tuple contient déjà un tuple. Vous n'avez pas besoin de scinder le contenu. P>
>>> a = entrée ()
3, 4, 5, 1, 8
>>> Imprimer (a)
(3, 4, 5, 1, 8)
>>> type (a)
>>> A [0]
3
>>> Len (a)
5 P> blockQuote>
in = eval(input()) a, b, c, d, e = in