Как сделать утверждение if более правильным? (Если случайное число содержит число из списка, то…)

#python #if-statement #logic

#питон #если-заявление #Логические

Вопрос:

я хочу сделать код (Счастливый билет, он же лотерея) — с помощью которого можно сгенерировать случайное 6-значное число, после этого — программа проверит список (с указанием счастливых чисел для выигрыша: ’11’, ’22’, ’33’ и т. д.) и скажите — вы выиграли или нет. Но — есть одна проблема, я не могу правильно сформулировать утверждение «если», оно всегда дает мне ошибку, а не правильный результат, который я хочу. Список содержит 9 значений: luckynumber = ’11’, ’22’, ’33’, ’44’, ’55’, ’66’, ’77’, ’88’, ’99’.

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

1. Покажите, что у вас есть до сих пор.

Ответ №1:

попробуйте это:

 if luckynumber in ["put all the lucky numbers in this list"]:  pass # do whatever you want  

Ответ №2:

Одна из проблем , с которой вы можете столкнуться, заключается в том, что для сравнения random_number lucky_numbers они оба должны быть строками, т. е.,

 lucky_numbers = ['11', '22', '33', '44', '55', '66', '77', '88', '99'] random_number = str(random_number) # assuming you already made random_number  

Затем вы можете сравнить их с any() , например

 result = any(r in random_number for r in lucky_number)  

Если вы не преобразуете random_number в строку, вы получите сообщение об ошибке TypeError: argument of type 'int' is not interable