我是python的新手并且有一个问题,其中来自在线评判的输入应该是水平行整数的形式。 我试图将它们存储为列表。 输入格式:5 4 4 2 2 8 但每次我输入水平的字符行我都会得到错误: 解析时意外的EOF
有没有办法在Python中执行它,就像python中的Scanner类一样,可以轻松输入各种数据类型。
编辑:如果您可以告诉我们如何区分用户输入的数据类型以便上面的输入可以很容易地被视为字符串,那将非常有用。
答案 0 :(得分:0)
使用在线评判时从stdin
读取输入的便捷方法是迭代输入行,如下所示:
for line in sys.stdin:
inp_array = line.split() # split the line
a = int(inp-array[0])
b = float(inp_array[1])
这会导致输入3 2.5
被读入变量a
和b
通过stdin
获取用户输入时,最好的方法是使用input()
方法。这将返回一个字符串,然后您可以尝试将其转换为您想要的任何数据类型(如果用户提供的不是您期望的类型,则处理错误)