【问题标题】:How can I take raw input from only one line?如何仅从一行获取原始输入?
【发布时间】:2019-04-03 01:24:04
【问题描述】:

我想在 PowerShell 中通过键盘输入如下内容:1 2 3 4 但如果我这样输入,它会显示:

Traceback (most recent call last):
  File "iqtest.py", line 7, in <module>
    l.append(int(raw_input()))
ValueError: invalid literal for int() with base 10: '1 2 3 4'

它仅在我每次输入后输入时才有效,因此创建 4 行而不是 1 行。我怎样才能将所有 4 个输入都放在一行中?我的代码:

list=[]
l=list
for i in range(0,n):
    l.append(int(raw_input()))

【问题讨论】:

    标签: python python-2.7 input


    【解决方案1】:

    您可以使用splitmap

    l = map(int, raw_input().split())
    

    【讨论】:

      【解决方案2】:

      您可以使用splitlist comprehension `

      nums = [int(n) for n in raw_input().split(' ')]
      

      【讨论】:

        【解决方案3】:

        我在这里读取多个用空格分隔的数字 所以我使用 .split(' ') 它将返回一个数字列表,但类型为字符串。 下一步是使用列表推导将列表“x”中的所有数字转换为 int 类型的值。

        x=raw_input().split(' ') 
        x=[int(num) for num in x]
        print x #python2
        

        【讨论】:

        • 请避免仅发布代码答案。虽然它们可能是问题的解决方案,但其他人可能会发现很难遵循您的代码。请为您的代码添加一些解释,说明它的作用以及您这样做的原因。
        猜你喜欢
        • 1970-01-01
        • 2012-07-24
        • 2023-02-01
        • 1970-01-01
        • 2019-12-01
        • 2012-01-19
        • 1970-01-01
        • 2014-06-11
        相关资源
        最近更新 更多