comment lire les éléments du tableau de l'utilisateur en python
Je suis en train de lire les éléments du tableau comme
4 #no. of elements to be read in array
1 2 3 4
ce que j'ai essayé en se référant d'autres réponses
def main():
n=int(input("how many number you want to enter:"))
l=[]
for i in range(n):
l.append(int(input()))
cela fonctionne bien si je donne d'entrée comme
4 #no. of elements to be read
1
2
3
4
mais si j'essaie de donner comme
4 #no. of element to be read
1 2 3 4
J'obtiens l'erreur comme:
ValueError: invalid literal for int() with base 10: '1 2 3 4'
Merci de m'aider avec ce
- Je le prends tu veux dire que lorsque vous entrez une chaîne de caractères tels que "1 2 3 4' votre entrée, l'erreur est générée. C'est parce que Python ne peut pas convertir une chaîne de caractères avec les int caractères, dans un int. Vous avez besoin de scinder le texte (
.split()
) et à l'utilisation de la matrice résultante.
Vous devez vous connecter pour publier un commentaire.
Car il n'y a pas d'entrée de délimiteurs en Python, vous devez utiliser
split
et de diviser l'entrée que vous avez reçues de l'utilisateur:Votre première approche est OK, pour la seconde façon d'utiliser cette:
Ce sera
map
la fonctionint
sur la répartition des pièces (ce quisplit
donne) de l'entrée de l'utilisateur (qui sont1
,2
,3
et4
dans votre exemple.Il utilise également le découpage (la
[:n]
aprèsmap
) à trancher dans le cas où l'utilisateur de mettre plus entiers.La
input()
fonction retourne une chaîne de caractères que l'utilisateur a entré. Leint()
fonction attend pour convertir un nombre en une chaîne de caractères correspondant à la valeur du nombre. Doncint('3')
sera de retour 3. Mais, lorsque vous tapez une chaîne de caractères comme1 2 3 4
la fonctionint()
ne sais pas comment les convertir.Vous pouvez suivre votre premier exemple:
Le ci-dessus ne vous oblige à entrer un numéro à la fois.
Une autre façon de faire est juste de diviser la chaîne.
La
split()
méthode renvoie une liste de nombres en chaînes de caractères à l'exclusion des espaces