Когда вводимые пользователем данные совпадают с одним битом в списке, распечатайте что-нибудь, если нет, то распечатайте что-нибудь другое

#python

Вопрос:

Я очень новичок в python и кодировании в целом. в настоящее время пытаюсь создать программу, которая запрашивает у пользователя код, и если код совпадает с одним из битов в списке, то он печатает сообщение о том, что код принят, и выходит из программы. в противном случае он говорит, что код неверен, и возвращается к пользовательскому вводу.

Проблема, с которой я сталкиваюсь, заключается в том, что он запрашивает у пользователя код, и независимо от того, что вводится, он говорит, что он недействителен

 codes = ['1234', '5678', '2684', '1243', '3565', '3458', '4589'] truecode = False  while not truecode:   user_input = input('Please input your code')   if user_input is codes:  print('Code accepted, enjoy your voucher')   else:  print('Code is invalid, please try again')  

Ответ №1:

Попробуйте in вместо is :

 if user_input in codes:  print('Code accepted, enjoy your voucher') else:  print('Code is invalid, please try again')  

Комментарии:

1. Кроме того, вы можете добавить truecode = True в конце, чтобы остановить программу.

2. идеально, исправил это 🙂