【发布时间】: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
我是 python 新手。我搜索并发现如何在 python 3 中做到这一点:
v = [int(x) for x in input().split()]
但是在 python 2 中我得到了语法错误。我需要它来用于 foobar,因为我不能在 C++ 和 python 3 中编码,这非常烦人。
【问题讨论】:
标签: python python-2.7 input multiple-input
在 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 会做你想做的事。
【讨论】:
试试这个:
v = [int(x) for x in raw_input("Enter your numbers separated by space: ").split()]
raw_input() 获取用户输入的内容并将其作为字符串传回input() 首先接受raw_input(),然后也执行eval()。raw_input() 已重命名为 input(),所以现在 input() 返回用户输入的内容并将其作为字符串传回input() 已删除。【讨论】:
在 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("-")]
【讨论】: