我一直在尝试从提示中读取一组输入。 提示输入的第一行表示将提供多少行。 例如
3 #This represents three values will be supplied in following lines
8
7
100
no_of_lines = int(raw_input().strip())
lines_content = []
for i in range(0,no_of_lines):
temp_content = raw_input().strip().split('\n')
lines_content.append(int(temp_content))
for j in range(0,len(lines_content)):
print(int(lines_content[j]))
上面是我在python中的代码来读取输入。我期待最后一个print语句将打印int类型的内容。但我无法这样做。 为什么不进行类型转换?是否有任何Pythonic方法可以实现上述场景?
PS 添加回溯
Traceback (most recent call last):
File "C:/test_project/test.py", line 5, in <module>
lines_content.append(int(temp_content))
TypeError: int() argument must be a string or a number, not 'list'
答案 0 :(得分:0)
你应该循环直到匹配一个空字符串
no_of_lines = int(raw_input().strip())
nums = [int(raw_input().strip()) for _ in range(no_of_lines)]
for num in nums:
print(num)
BTW - 您的代码会出错,因为拆分会返回一个列表
temp_content = raw_input().strip().split('\n') # returns a list
temp_content = raw_input().strip() # should be enough for your case ...