Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите написать код на питоне

Валентин Валентийский Ученик (201), на голосовании 2 месяца назад
Напиши функцию correct_password(), которая принимает строку с паролем и проверяет его соответствие требованиям.

Пароль подходит, если:

он имеет вид a_b_c (три части через _);

a — натуральное чётное число;

b — натуральное число-палиндром;

c — натуральное трёхзначное число.

Используй команду return с такими значениями:

True — пароль подходит;

False — пароль не подходит.

Вызови функцию с данными, которые вводит пользователь.
Пример 1
Ввод Вывод
12_343_567
True
Пример 2
Ввод Вывод
25_404_123
False
Голосование за лучший ответ
Сергей Зенов Ученик (124) 3 месяца назад
Вроде, всё должно быть правильно.

`def correct_password(password):`

`a, b, c = password.split('_')`

`if (int(a) % 2 == 0 and int(a) > 0) and (isPalindrome(b) and int(b) > 0) and (100 <= int(c) <= 999):`

`return True`

`else:`

`return False`
Валентин ВалентийскийУченик (201) 3 месяца назад
Спасибо чуть подредачил и работает
def correct_password(password):
a, b, c = password.split('_')
if (int(a) % 2 == 0 and int(a) > 0) and ((b) and int(b) > 0) and (100 <= int(c) <= 999):
return True
else:
return False
user_password = input("")
if correct_password(user_password):
print("True")
else:
print("False")
Валентин Валентийский, всё равно хрень. Если кто-то введёт 2 или 4 части вместо 3-х, у тебя будет питоновская ошибка, а не "False"
Barbarosso Мудрец (16093) 3 месяца назад
Оставьте змей в покое! Не надо на них ничего писать!
Валентин ВалентийскийУченик (201) 3 месяца назад
я бы с радостью. Но не как
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (262585) 3 месяца назад
 def correct_password(): 
return (lambda p: (lambda a,b,c: a.isdigit() and int(a) % 2 == 0 and b == b[::-1] and c.isdigit() and 100 <= int(c) <= 999)(*p.split('_')) if p.count('_') == 2 else False)(input("Введите пароль: "))

print(correct_password())
Юрий Семыкин Искусственный Интеллект (203870) 3 месяца назад
например:
 def correct_password(s): 
try:
a =[int(i) for i in s.split('_')]
except:
return False
return all((len(a)==3,
a[0]>0, not (a[0] % 2),
a[1]>0, a[1] == int(str(a[1])[::-1]),
100
# test
tst=('-2_21012_123','2_4_222','2_0_222','2_21012_123','12_210132_123','12345672_1_1234','112_111_111_456','gjhg')
for i in tst:
print(i,correct_password(i))
Похожие вопросы