проверить, есть ли какой-либо символ строки внутри списка - PullRequest
0 голосов
/ 04 февраля 2019

Это латиноамериканская игра, и она работает, но прямо сейчас, если я введу любой из символов, определенных в переменной «special», я получу его как True, но если я добавлю другого персонажа, он вернет как false.


Таким образом, проверяется только вся строка, а не какой-либо символ строки.Я хочу, чтобы, если я введу «Ban /», он будет возвращен как недействительный.Поэтому, если какой-либо из символов, определенных в «special», найден в «word», я хочу, чтобы он возвращал true.

special = list('[@_!#$%^&*()<>?/\|}{~:]')
word=input("\nType in a word : ")
if word in special:
    print("Your entry is not valid.")
else:
    pigLatin()

Я тоже пробовал это раньше, но по сути это то же самое

if word[0:] in special:

Вот полный фрагмент 1011 *, если это поможет.Состояние в строке: 41

Осторожно, я начал несколько дней назад, поэтому это может выглядеть очень грязно.

1 Ответ

0 голосов
/ 04 февраля 2019

Переберите каждый символ на входе и выполните проверку по одному.Вы можете сделать это с помощью any() и понимания генератора:

if any(i in special for i in word):
    print("Your entry is not valid.")

Вы также можете рассмотреть возможность использования sets, проверив, не является ли пересечение между word и special пустым:

if set(word) & set(special):
    print("Your entry is not valid.")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...