Я печатаю семь цифр, чтобы иметь возможность выработать код продукта gtin-8. Но если я напечатаю более семи цифр, оператор if len должен признать, что я набрал более семи цифр, но это не так. Я попытался поместить это в переменную, но это тоже не сработало ... Любая помощь будет оценена! Это мой код ........Если инструкция len
gtin1 = int(input("Enter your first digit... "))
gtin2 = int(input("Enter your second digit... "))
gtin3 = int(input("Enter your third digit... "))
gtin4 = int(input("Enter your fourth digit... "))
gtin5 = int(input("Enter your fifth digit... "))
gtin6 = int(input("Enter your sixth digit... "))
gtin7 = int(input("Enter your seventh digit... "))
gtin_join = (gtin1, gtin2, gtin3, gtin4, gtin5, gtin6, gtin7)
if len(gtin_join) == 7:
Почему у вас есть настройки программы, чтобы ввести одну цифру в то время? Почему бы вам просто не ввести полный код – Keatinge
, конечно, это не так, поскольку каждый вызов input(), независимо от того, что вы вводите (даже 8,3,2,1), например, интерпретируется как 1 вещь. Это строка типа. –
Если вы собираетесь вводить по одному номеру одновременно, вы также должны проверить каждую цифру. В качестве альтернативы, попросите пользователя ввести один номер и просто проверьте его '<10000000'. – jonrsharpe