/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module31/04_phone_numbers/main.py
29 строк
1 KB
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
import re WORDS = { 1: 'первый', 2: 'второй', 3: 'третий', 4: 'четвёртый', 5: 'пятый', 6: 'шестой', 7: 'седьмой', 8: 'восьмой', 9: 'девятый', 10: 'десятый', 11: 'одиннадцатый', 12: 'двенадцатый', 13: 'тринадцатый', 14: 'четырнадцатый', 15: 'пятнадцатый', 16: 'шестнадцатый', 17: 'семнадцатый', 18: 'восемнадцатый', 19: 'девятнадцатый', 20: 'двадцать', 30: 'тридцать', 40: 'сорок', 50: 'пятьдесят', 60: 'шестьдесят', 70: 'семьдесят', 80: 'восемьдесят', 90: 'девяносто' } def number_to_word(num) -> str: remainder = num % 10 if num > 19 and remainder > 0: return " ".join((WORDS[num - remainder], WORDS[remainder])) return WORDS[num] pattern = r'\b\d{10}\b' numbers = ['9999999999', '999999-999', '99999x9999', '234asd', '12345678901234567890', '1234567890'] count = 0 for text_num in numbers: count += 1 result = re.findall(pattern, text_num) if len(result) == 0: print(number_to_word(count), 'номер: не подходит') else: print(number_to_word(count), 'номер: всё в порядке')