/ / Prise en entrée entière séparée par un espace (erreur littérale non valide) Python - python, entrée, entier, espace, blanc

Prise en entrée entière séparée par un espace (erreur littérale non valide) Python - python, entrée, entier, espace, blanc

Donc, le but de ce code est de supprimer les doublonsÀ partir de l'entrée, puis imprimez une liste sans les doublons et je pense l'avoir obtenue, mais je n'arrive pas à me rappeler comment saisir des entrées avec des espaces et aucune des choses que j'ai consultées jusqu'à présent n'a été très utile à ma cas. Voici mon code.

def eliminateDuplicates(lst):
strnumbers = str(lst)
listnumbers = list(strnumbers.split())
newlist = []
for number in listnumbers:
if number not in newlist:
newlist.append(number)
return newlist

def main():
numbers = int(input("Enter numbers separated by space"))
print("The distinct numbers are: ", eliminateDuplicates(numbers))

main()

Réponses:

1 pour la réponse № 1
strnumbers = str(lst)
listnumbers = list(strnumbers.split())

Je pense que cette stupidité est la cause de vos problèmes (, et [ les personnages entrent dans vos chiffres). Il suffit de parcourir l'entrée lst.

Vous devrez également travailler à l'envoi d'une liste appropriée dans votre fonction, ce qui signifie que vous devrez changer cette ligne:

numbers = int(input("Enter numbers separated by space"))

Je vais laisser ce bit à vous.


1 pour la réponse № 2

tu ne peux pas faire

int("1 2 3")

mais tu peux faire

[int(x) for x in "1 2 3".split()]

une des erreurs vient de votre int(input()) ... mais je pense que wim a raison