Python

Никак не могу понять как поступить =)

Внизу код. Так то ключ работает. НО только который 1. Тестил, если ввести ключ1(ADIKL-HFGU-SDEW-4476) то программа видит его как верный. А если ниже также через if прописать ключ2(
OLKID-GHYF-HFYD-5676) то один хер программа видит только 1 КЛЮЧ. Тоесть 2 вообще игнорируется. Уже много пытался как, либо ошибка, либо вообще работает через одно место)
Также хочу чтобы в конце, в зависимости от введенного ключа отображалась подписка. Думаю увидите все сами
Сделай без ключа
Станислав Живетин
Станислав Живетин
7 807
Лучший ответ
Кайрат Алибаев Тренируюсь, хочу с ключом! =)))
Проще рассказать, что ты пытаешься сделать, чем исправлять твой бред...

И зачем два раза вводить ключ? в начале и в цикле?
И явно не следует делать имена переменных кириллицей...

Ключ явно не один может быть и проще сделать список ключей. Или словарь или кортеж... чтобы понимать к какой версии относить ключ...

_______________________
lite_keys = [...]
full_keys = [...]

while True:
    key = input('Введите ключ')
    if key in lite_keys:
        print('ключ активирован')
        print('Ваша подписка: LITE')
        break
    elif key in full_keys:
        print('ключ активирован')
        print('Ваша подписка: FULL')
        break
    else:
        print('Повторите попытку')

___
У меня присутствует какое-никакое дублирование кода, но так получилось т. к. не знаю всей сути задачи.
АП
Артур Пелин
73 465
Кайрат Алибаев Ну уж извини, я не мастер в этом, только начал изучать.
Не актуально, но всё равно отвечу. Во первых, никогда не делай переменные на кириллице. Во вторых, у тебя в условии (10 строка) не проверяется 2й ключ. Должно быть так: if keys==key1 or keys==key2.

Почему переменная ввода называется keys, если туда взводится один ключ? А вообще, лучше создать список ключей. Keys = [“123”, “321”];
if input in keys:

Поищи в своём редакторе кода debugger, он позволяет очень подробно рассматривать каждый шаг твоей программы в действии, ты сможешь так находить ошибки. В твоём случае я просто мысленно прогнал программу и понял, что в цикле тупо не проверяется второй ключ.
Admiral.stavr
Admiral.stavr
1 180
Admiral.stavr P.S. Пользователь почему-то выходит ключ два раза при старте (самая первая строка не нужна). А ещё у тебя в цикле каждый раз определяется первый ключ, хотя это лишнее, ведь он уже определился в самом начале кода.
Лучше иди на форумы программистов, тут тебе врядли помогут