0

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

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

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

4

3 回答 3

0

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

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

所以你想使用raw_input()

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

在 Python 3input中,你可以做你想做的事。

于 2020-12-24T11:23:17.577 回答
0

尝试这个:

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()so 现在input()返回用户键入的内容并将其作为字符串传回
  • input()的被删除了。
于 2020-12-24T11:28:31.693 回答
0

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

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

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

v = [int(x) for x in raw_input("Enter numbers here").split("-")]
于 2020-12-24T11:32:16.167 回答