8
votes

Comment lire une entrée formatée dans Python?

Je tiens à lire à partir de STDIN Cinq chiffres entrés comme suit:

3, 4, 5, 1, 8

dans des variables séparées A, B, C, D & E.

Comment puis-je faire cela dans Python?

J'ai essayé ceci: xxx

pour deux entiers, mais cela ne fonctionne pas. Je reçois: xxx

Comment faire cela? et supposons que je n'ai pas un nombre fixe mais variable N entiers. Alors?


0 commentaires

4 Réponses :


2
votes

sous Python 2.x uniquement (*)

Après une entrée ()

A est un tuple avec les 5 valeurs facilement analysées!

Un moyen rapide d'affecter ces 5 valeurs est xxx

(*) 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!)


1 commentaires

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 ..."



16
votes

Utilisez Raw_Input () code> au lieu de Entrée () Code>.

>>> l = (1,2,3,4,5)
>>> a,b,c,d,e = l
>>> e
5


2 commentaires

En Python 3.1 entrée () renvoie la chaîne.


Oui, mais l'affiche utilise évidemment 2.x



0
votes

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.

>>> a = entrée ()
3, 4, 5, 1, 8
>>> Imprimer (a)
(3, 4, 5, 1, 8)
>>> type (a)

>>> A [0]
3
>>> Len (a)
5


0 commentaires

-3
votes
in = eval(input())

a, b, c, d, e = in

0 commentaires