Python не сопоставляет русские символы с массивом

AndDro

Новичок
Пользователь
Авг 14, 2020
5
2
3
Windows, Python 3.8, Кодировка UTF-8
Python:
eng_book = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
ru_book = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"]
message = input("Введите сообщение ")
if message in ru_book:
    print("All good")
else:
    print("WTF")
Программа выдает всегда WTF. Подскажите пожайлуста почему так и как решить?
 
  • Мне нравится
Реакции: Student

AndDro

Новичок
Пользователь
Авг 14, 2020
5
2
3
Как я понимаю, вы хотите проверить если в слове есть русские символы или нет?
На данный момент, ваш скрипт проверяет если введенное слово есть в массиве ru_book. Это всегда будет False, если message не является обычной буквой из списка.
Спосибо, понял!
 
  • Мне нравится
Реакции: Student

Farruh

Пользователь
Пользователь
Авг 9, 2020
15
5
3
В чем смысл программы? Выдает всегда WTF так как ты проверяешь наличие сообщения в списке с буквами
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
element in iterable ищет элемент в итерабле. В этом случае, я полагаю ты вводишь слово, и он ищет "слово" в списке. В нем такого нет, там только буквы. Если ты хочешь проверить, что во введенном сообщении все буквы только из списка, то if all(x in ru_book for x in message)
 
  • Мне нравится
Реакции: Student

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Как я понимаю, вы хотите проверить если в слове есть русские символы или нет?
На данный момент, ваш скрипт проверяет если введенное слово есть в массиве ru_book. Это всегда будет False, если message не является обычной буквой из списка.
 

Форум IT Специалистов