我是 python 新手。我搜索并发现了如何在 python 3 中做到这一点:
v = [int(x) for x in input().split()]
但在 python 2 中,我得到了语法错误。我需要它用于 foobar,因为我不能在那里用 c++ 或 python 3 编码,这非常烦人。
我是 python 新手。我搜索并发现了如何在 python 3 中做到这一点:
v = [int(x) for x in input().split()]
但在 python 2 中,我得到了语法错误。我需要它用于 foobar,因为我不能在那里用 c++ 或 python 3 编码,这非常烦人。
在 Python 2 中,您有 2 个输入函数:
raw_input
:这符合您的期望;它将输入读取为字符串。input
:这实际上评估了用户输入;这就是您收到语法错误的原因;您不能评估像"1 2 3 4 5"
.所以你想使用raw_input()
:
v = [int(x) for x in raw_input().split()]
在 Python 3input
中,你可以做你想做的事。
尝试这个:
v = [int(x) for x in raw_input("Enter your numbers separated by space: ").split()]
raw_input()
准确获取用户键入的内容并将其作为字符串传回input()
首先接受raw_input()
,然后eval()
也执行一次。raw_input()
已重命名为input()
so 现在input()
返回用户键入的内容并将其作为字符串传回input()
的被删除了。在 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("-")]