У меня возникла проблема, когда пользователь вводит разные коды, в одну переменную, а затем я хочу разбить эти входные данные, чтобы сделать их в список. Однако я понял, что моя переменная принимает только последний вход, означающий, что список приходит с одним кодом, а не с несколькими. Как сделать переменную хранить несколько входов?Почему мой код только за исключением последнего ввода?
while True:
itemsneeded = input("How many items do you need?")
if itemsneeded.isnumeric() and int(itemsneeded) <= 5:
break
GTIN = ''
count = 0
while count < int(itemsneeded):
GTIN = (input('Please enter all GTIN-8 for all items'))
if GTIN.isnumeric() and len(GTIN) == 8:
Num0 = int(GTIN[0]) * 3
Num1 = int(GTIN[1])
Num2 = int(GTIN[2]) * 3
Num3 = int(GTIN[3])
Num4 = int(GTIN[4]) * 3
Num5 = int(GTIN[5])
Num6 = int(GTIN[6]) * 3
Num7 = int(GTIN[7])
total2 = (Num0 + Num1 + Num2 + Num3 + Num4 + Num5 + Num6 + Num7)
if total2 % 10 == 0:
print(GTIN)
if GTIN in open('read_it.txt').read():
print('entered GTIN is valid')
else:
print('The code entered is invalid')
print('Please renter this code')
count += 1
else:
print("The entered GTIN-8 codes are incorrect")
print(GTIN)
lst = GTIN.split()
print(lst)
И я не могу использовать это (Two values from one input in python?) потому что я не знаю, как много элементов, пользователь хочет, вход пользователей может изменяться от 1 до 5. пункта
Я добавил .split() в строку 8, проблема в том, что теперь я получаю объект «списка», у которого нет атрибута «isnumeric», очевидно, что я использую isnumeric() для проверки ввода пользователей в число. Я также попытался поместить int в строку 8 вместо использования isnumeric(), но я все равно получаю ту же ошибку. –