【问题标题】:Taking in integer input separated by space (invalid literal error) Python接受以空格分隔的整数输入(无效文字错误)Python
【发布时间】:2013-11-12 06:22:06
【问题描述】:

所以这段代码的目标是从输入中删除重复项,然后打印出一个没有重复项的列表,我想我明白了,但我似乎不记得如何接受带空格的输入,而且没有到目前为止,我查到的东西对我的案子很有帮助。这是我的代码。

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

【问题讨论】:

  • 您提出了一个 Python 问题,但您的代码没有正确缩进。空格在 Python 中在语法上很重要,如果没有适当的缩进,我们无法判断您的代码在做什么,因此无法帮助您。请编辑您的问题并修复缩进。谢谢!

标签: python input integer whitespace


【解决方案1】:
strnumbers = str(lst)
listnumbers = list(strnumbers.split())  

我认为这种愚蠢是导致您出现问题的原因(,[ 字符会进入您的号码)。只需遍历输入 lst

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

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

我会留给你。

【讨论】:

  • 哈哈是的,有点傻。我只是感到沮丧,因为它一直试图让它工作。感谢您的帮助。
  • 我似乎已经完成了所有工作,除了我无法将列表转换为整数以便在没有“”的情况下打印它。
【解决方案2】:

你做不到

int("1 2 3")

但你可以做到

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

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

【讨论】:

  • 我没有把那个给你,哈哈。我不知道你为什么得到 -1。
猜你喜欢
  • 2016-03-12
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多