-
Notifications
You must be signed in to change notification settings - Fork 119
/
Copy pathpractice2.py
95 lines (66 loc) · 3.22 KB
/
practice2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import re
from typing import Iterable
import random
UNCULTURED_WORDS = ('kotleta', 'pirog')
def greet_user(name: str) -> str:
greeting = "Hello " + name
"""
Генерирует приветственную фразу.
Приветствие не может состоять только из одного имени пользователя.
:param name: имя пользователя
:return: приветствие
"""
# пиши код здесь
return greeting
def get_amount() -> float:
"""
Генерируем случайную сумму на счете.
Сумма:
- в диапазоне от 100 до 1000000
- float
- не больше 2-х знаков после запятой
:return: случайную сумму на счете
"""
amount = round(random.uniform(100, 1000000), 2)
return amount
def is_phone_correct(phone_number: str) -> bool:
"""
Функция проверяет, что номер телефона соответствует следующему формату:
+7xxxxxxxxxx, где x - цифра от 0 до 9
:param phone_number: предполагаемый номер телефона
:return: буленовское значение - bool: True - если номер корректны,
False - если номер некорректный
"""
pattern = r'\+7\d{10}' # Паттерн для поиска номера в формате +7xxxxxxxxxx
match = re.fullmatch(pattern, phone_number)
return bool(match)
def is_amount_correct(current_amount: float, transfer_amount: str) -> bool:
"""
Проверяет возможность осуществления перевода.
Перевод возможен если выполняется условие:
- текущий счет (current_amount) больше или равен сумме перевода (transfer_amount)
:param current_amount: текущий счет
:param transfer_amount: сумма перевода
:return: буленовское значение - bool: True - если перевод возможен,
False - если денег недостаточно
"""
# пиши код здесь
return current_amount >= float(transfer_amount)
def moderate_text(text: str, uncultured_words: Iterable[str]) -> str:
text = text.lower()
text = ' '.join(text.split())
text = text.replace('pirog', '#####').replace("kotleta", '#######')
text = text.replace('"', '').replace("'", '')
text = text.capitalize()
return text
def create_request_for_loan(user_info: str) -> str:
info_list = user_info.split(',')
if len(info_list) != 5:
return "Некорректный формат информации о клиенте"
last_name = info_list[0]
first_name = info_list[1]
middle_name = info_list[2]
dob = info_list[3]
loan_amount = info_list[4]
request_text = f"Фамилия: {last_name}\nИмя: {first_name}\nОтчество: {middle_name}\nДата рождения: {dob}\nЗапрошенная сумма: {loan_amount}"
return request_text