9 votes

accepter plusieurs entrées utilisateur séparées par un espace en python et les ajouter à une liste

Comment puis-je accepter plusieurs entrées utilisateur séparées par un espace ? Je ne connais pas le nombre d'entrées, mais je sais qu'elles sont toutes des ints.

Voici quelques exemples d'entrées :

13213 412 8143
12 312
1321 142 9421 9 29 319 

Je sais que je peux le faire si je connais le nombre d'entrées à l'avance, mais j'ai du mal à rendre cela générique. Je pourrais simplement demander à l'utilisateur d'indiquer le nombre de groupes d'ints qu'il va saisir :

inputs = int(raw_input("Enter number of raw inputs "))
num = []
for i in xrange(1, inputs):
    num.append(raw_input('Enter the %s number: '))

Mais je cherche une solution plus élégante qui ne nécessite pas de poser deux questions à l'utilisateur.

25voto

Hugh Bothwell Points 22635
s = raw_input("Please enter your numbers: ")

mynums = [int(i) for i in s.split()]
# OR
mynums = map(int, s.split())

12voto

inspectorG4dget Points 25092

Essayez ça :

nums = [int(i) for i in raw_input("Enter space separated inputs: ").split()]

0voto

kybrdbnd Points 89

Pour python 2.x

x,y = map(int,raw_input().split())

il prend deux variables x et y de type int séparées par un espace et vous pouvez remplacer int par le type que vous voulez.

pour python 3.x

x,y = input().split()

il prend deux variables x et y de type chaîne de caractères séparées par un espace et vous devez convertir de manière explicite

0voto

user6451148 Points 11

x,y=map(int,input().split()) #Ceci va prendre les entrées séparées par des espaces et les transformer en #into.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X