限制输入数字并将列表保存到列表中

limited input numbers and save a list into a list

out = []
for a in range(1):
    for i in range(1):
        while True:
            grid = input("input: ")
            if grid.isnumeric() and int(grid) >=0 and int(grid) <10:
                out.append(grid)
                break
            else:
                print("Invalide Input")
print(*out)

用户输入示例

input:1 2 3 4 5 6 7 8 9

使用“”拆分它们之间的space并将它们变成整数并且应该是=

grid =  [[1,2,3,4,5,6,7,8,9 ]]...

但在拆分和转换后,每个数字应为 < 10 且 >= 0

并将其保存为

grid = [[1,2,3,4,5,6,7,8,9 ]]

我需要输入 9 次而不是一次并且重复

这是针对您当前问题更新的代码。

out=[]
count = 0
while(count < 9):
    user_input = input("input: ")
    grid = user_input.split(" ")
    inputs = True
    while(inputs):
        if len(user_input) == 17:
            if len(grid) == 9:
                try:
                    grid = [int(a) for a in grid]
                    inputs= False
                except:
                    print('you inputed a letter')
                    user_input = input('input: ')
                    grid = user_input.split(' ')
            else:
                print('your input does not include 9 numbers.')
                user_input = input('input: ')
                grid = user_input.split(' ')
        else:
            print('your input is not of proper length,')
            user_input = input('input: ')
            grid = user_input.split(' ')
    out.append(grid)
    count += 1
print(out)

当我输入数字 1 到 9 九次时,输出如下,

[[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]]

如果我输入一个负数或一个多于 1 位的数字,s 将是错误的长度,或者 l 将不会包含足够的数字。您的每个输入都经过正确检查,输出成为包含 9 个整数的 9 个列表的列表。现在它提示原始输入 9 次,提供 9 个单独列表的列表,其中包含用户选择的数字。