Вопрос задан 02.07.2023 в 09:41. Предмет Информатика. Спрашивает Акивис Мария.

Программа на Python 3. Она выводит все варианты паролей состоящих из одной/двух/трёх/четырёх цифр.

С паролями из трёх цифр всё нормально, программа выводит ровно 100 вариантов. С паролями из четырёх тоже нет никаких проблем. А с паролями из одной и двух цифр есть проблемы, каждое число выводится 10 раз. Исправьте эту проблему, пожалуйста. z=int(input("Введите количество цифр пароля(1-4): " ))for i in range(0,10): for e in range(0,10): for d in range(0,10): for c in range(0,10): if z==1: print(i) break elif z==2: print(i,e) break elif z==3: print(i,e,d) break elif z==4: print(i,e,d,c)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Савенок Макс.

Ответ:

z=int(input("Введите количество цифр пароля(1-4): " ))

if z <= 4 and z > 0:

for i in range(0,(10**z)):

print(i)

else:

print("ошибка ввода")

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема, которую вы описываете, возникает из-за вложенных циклов. Когда z равно 1 или 2, ваши вложенные циклы продолжат выполняться внутри каждого внешнего цикла, что приводит к множественному выводу одного и того же числа. Для исправления этой проблемы вы можете использовать следующий подход:

python
z = int(input("Введите количество цифр пароля (1-4): ")) if z == 1: for i in range(0, 10): print(i) elif z == 2: for i in range(0, 10): for e in range(0, 10): print(i, e) elif z == 3: for i in range(0, 10): for e in range(0, 10): for d in range(0, 10): print(i, e, d) elif z == 4: for i in range(0, 10): for e in range(0, 10): for d in range(0, 10): for c in range(0, 10): print(i, e, d, c) else: print("Неподдерживаемое количество цифр пароля")

В этой версии кода каждый вариант пароля выводится только один раз, в зависимости от значения z.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос