我是 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("-")]