【问题标题】:How do I read multiple inputs in python 2如何在 python 2 中读取多个输入
【发布时间】:2021-04-02 20:41:16
【问题描述】:

我是 python 新手。我搜索并发现如何在 python 3 中做到这一点:

v = [int(x) for x in input().split()]

但是在 python 2 中我得到了语法错误。我需要它来用于 foobar,因为我不能在 C++ 和 python 3 中编码,这非常烦人。

【问题讨论】:

    标签: python python-2.7 input multiple-input


    【解决方案1】:

    在 Python 2 中,您有 2 个输入函数:

    • raw_input :这符合您的期望;它将输入读取为字符串。
    • input :这实际上评估了用户输入;这就是您收到语法错误的原因;你不能评估像"1 2 3 4 5" 这样的字符串。

    所以你想使用raw_input():

    v = [int(x) for x in raw_input().split()]
    

    在 Python 3 中 input 会做你想做的事。

    【讨论】:

    • @HaaaatzJhonule 我不知道......这很糟糕......无论如何我提出的解决方案适用于 python 2。
    【解决方案2】:

    试试这个:

    v = [int(x) for x in raw_input("Enter your numbers separated by space: ").split()]
    

    在 Python 2.X 中

    • raw_input() 获取用户输入的内容并将其作为字符串传回
    • input() 首先接受raw_input(),然后也执行eval()

    在 Python 3.X 中

    • raw_input() 已重命名为 input(),所以现在 input() 返回用户输入的内容并将其作为字符串传回
    • 旧的input() 已删除。

    【讨论】:

      【解决方案3】:

      在 python3 中没有raw_input。 python3input是重命名的python2raw_input。所以在python2中你应该使用raw_input。像这样:

      v = [int(x) for x in raw_input("Enter numbers here").split(" ")]
      

      split 中的参数是分隔符。在第一个示例中,分隔符是空格。但是如果你想得到用-分隔的数字,你可以这样使用它:

      v = [int(x) for x in raw_input("Enter numbers here").split("-")]
      

      【讨论】:

        猜你喜欢
        • 2018-05-02
        • 1970-01-01
        • 2020-09-06
        • 1970-01-01
        • 2016-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多