Top.Mail.Ru
Ответы

Помогите решить задачу на Python "BEEGEEK"

BEEGEEK наконец открыл свой банк в котором используются специальные банкоматы с необычным паролем.

Действительный пароль BEEGEEK банка имеет вид a:b:c, где a, b и c – натуральные числа. Поскольку основатель BEEGEEK фанатеет от математики, то он решил:

число a – должно быть палиндромом;
число b – должно быть простым;
число c – должно быть четным.
Напишите функцию is_valid_password(password), которая принимает в качестве аргумента строковое значение пароля password и возвращает значение True если пароль является действительным паролем BEEGEEK банка и False в противном случае.

Примечание. Следующий программный код:

print(is_valid_password('1221:101:22'))
print(is_valid_password('565:30:50'))
print(is_valid_password('112:7:9'))
print(is_valid_password('1221:101:22:22'))

должен выводить:

True
False
False
False

Дополнен

# объявление функции
def is_valid_password(password):

# считываем данные
psw = input()

# вызываем функцию
print(is_valid_password(psw))

Вот в эту конструкцию нужно вставить код. Ломаю голову, никак не могу решить.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Профи

ломаю голову 2 ой день

Аватар пользователя
Просветленный

А в чём проблема?
вставляешь строку, используя функцию split разделяешь числа. Палиндром думаю знаешь что такое - проверяешь разряды числа - сравниваешь первый с последним, второй с предпоследним и т. д. (тут удобнее будет со строкой работать). Простое число - число, которое делится только на себя и на 1. Можно тупо попытаться разделить на все числа начиная с 2 и заканчивая число -1 (есть более быстрые способы проверить, но это уже будешь думать, если по времени валить будут)
А четное - тупо делишь на 2 и смотришь остаток. Делается это так число % 2