接受由空格分隔的整数输入(无效的文字错误)Python

时间:2013-11-01 03:12:39

标签: python input integer whitespace

所以这段代码的目标是从输入中删除重复项,然后打印出没有重复项的列表,我想我得到了它,但我似乎无法记住如何使用空格输入,而不是我到目前为止看到的东西对我的情况非常有帮助。这是我的代码。

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

2 个答案:

答案 0 :(得分:1)

你做不到

int("1 2 3")

但你可以做到

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

其中一个错误来自您的int(input()) ...但我认为wim是对的

答案 1 :(得分:1)

strnumbers = str(lst)
listnumbers = list(strnumbers.split())  

我认为这种愚蠢是造成问题的原因(,[字符会进入你的数字)。只需迭代输入lst

您还需要将正确的列表发送到您的函数中,这意味着您需要更改此行:

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

我会把这一点留给你。