1г



Программирование
+2Помогите пожалуйста с задачами по python
4. Напишите функцию, принимающую в качестве аргумента натуральное число и возвращающую список всех делителей данного числа.
5. Напишите функцию, которая принимает в качестве аргумента строковое значение пароля и возвращает значение True, если пароль является надежным и False в противном случае.
Пароль является надежным если:
• его длина не менее 88 символов;
• он содержит как минимум одну заглавную букву (верхний регистр);
• он содержит как минимум одну строчную букву (нижний регистр);
• он содержит хотя бы одну цифру.
По дате
По рейтингу
Ксюша, привет)
12345678910111213141516171819202122232425262728293031323334
import string
def find_divisors(n):
divisors = []
for i in range(1, n + 1):
if n % i == 0:
divisors.append(i)
return divisors
def is_strong_password(password):
if len(password) < 22:
return False, 'Пароль ненадежный: слишком короткий, нужно минимум 22 символов.'
if not any(c in string.ascii_uppercase for c in password):
return False, 'Пароль ненадежный: должен содержать как минимум одну заглавную букву.'
if not any(c in string.ascii_lowercase for c in password):
return False, 'Пароль ненадежный: должен содержать как минимум одну строчную букву.'
if not any(c.isdigit() for c in password):
return False, 'Пароль ненадежный: должен содержать хотя бы одну цифру.'
return True, 'Пароль надежный.'
number = 36
divisors = find_divisors(number)
print(f"Делители числа {number}: {divisors}")
password = "MyVeryLongPasswordWithDigitsIOUWEgvuwjeklJVIWUEPwiueilwvkjkb2"
result, message = is_strong_password(password)
print(f"Проверка пароля '{password}': {result} - {message}")
short_password = "Short1"
result_short, message_short = is_strong_password(short_password)
print(f"Проверка пароля '{short_password}': {result_short} - {message_short}")
Только измени параметр 22. Для теста 88 было не удобно)
123456789
def devisors(x: int):
return [d for d in range(1, x // 2 + 1) if x % d == 0]+ [x]
def is_strong(s: str):
return any(x.isupper() for x in s) and any(x.islower() for x in s)
and any(x.isdigit() for x in s) and len(s) >= 88
print(devisors(44))
print(is_strong("blabla"))