在python中输入输入

时间:2015-07-01 11:37:11

标签: python string python-2.7

最近我开始研究Python,我遇到了一个问题。 假设你有3个空格分隔的整数,比如4 5 6
当我使用input()方法并接受输入时,它显示错误。

Traceback (most recent call last):
  File "P_Try.py", line 1, in <module>
    x= input();
  File "<string>", line 1
    4 5 6 
      ^
SyntaxError: invalid syntax

我猜,因为它在一行中,它假设它是一个字符串,但是在位置2处找到整数(索引从0开始)。 我尝试了替代方法,我使用raw_input()方法将输入作为字符串,并且无论在何处找到数字,我都将其转换为int并将其附加到列表中。

有没有更好的方法来完成任务?

4 个答案:

答案 0 :(得分:4)

函数input()将您的输入解释为Python代码,我知道,这有点奇怪。要获取原始输入(包含用户类型字符的字符串),只需使用raw_input()函数。

答案 1 :(得分:1)

使用input()时,python会尝试解释输入,因此在找到空格时会感到困惑。

您正确建议使用raw_input()

inp = raw_input() # get raw input
lst = inp.split(" ") # split into list
num_lst = map(int, lst) # apply int() to all items

答案 2 :(得分:1)

如果你刚开始学习,那就使用python3。您的代码的input行可以正常工作。 如果需要输入3个整数,可以使用如下代码:

x = input()
result = [ int(i) for i in x.split(' ')]

答案 3 :(得分:0)

试试这个:

a = []
a += map(int,raw_input("Enter the integers\n").split(" "))
print a