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)
user input example
input:1 2 3 4 5 6 7 8 9
split using " " the space between them and turn them to inteager the and should be =
grid = [[1,2,3,4,5,6,7,8,9 ]]...
but after spliting and converting each number should be < 10 and >= 0
and save it to be the
grid = [[1,2,3,4,5,6,7,8,9 ]]
i need to input the line 9 times not once and been duplicate
Here's the code updated for your current question.
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)
When I enter the numbers 1 through 9 nine times, it outputs the following,
[[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]]
If I enter a negative number or a number with more than 1 digit, s will be the wrong length, or l will not contain enough numbers. Each of your inputs are checked properly and out becomes a list of 9 lists containing nine integers. Now it prompts for that original input 9 times, providing a list of 9 separate lists with numbers chosen by the user.