我想把列表的输入全部放在同一行。 但是我收到以下错误
> val = [int(input().split())]
> TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
这是我的代码
n=int(input("Enter an input: "))
val=[]
val = val[:n]
val = [int(input().split())]
print (val)
答案 0 :(得分:0)
如果我正确理解了您的问题,则希望使用连续的输入来列出您的列表。这可能是您正在寻找的东西:
ans = None
values = []
while ans != '':
ans = input('enter value: ')
if ans.isdigit():
and = int(ans)
if ans.strip() == '':
break
values.append(and)
print('\n'.join(str(x) for x in values)
这将接受输入,直到输入为空白为止,因为输入返回值始终是字符串,所以将任何数字输入转换为int
或者,您可以直接获取以空格分隔的数字的列表。如果输入非数字值,此方法将失败:
print('enter space-separated numbers')
values = [int(val) for val in input().split()]