/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module25/02_karma/main.py
72 строки
2 KB
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
from random import randint class KillError(Exception): """Дочерний класс KillError. Родитель Exception """ def __str__(self): """ :return: Exception KillError """ return 'Exception KillError' class DrunkError(Exception): """Дочерний класс DrunkError. Родитель Exception """ def __str__(self): """ :return: Exception DrunkError """ return 'Exception DrunkError' class CarCrashError(Exception): """Дочерний класс CarCrashError. Родитель Exception """ def __str__(self): """ :return: Exception CarCrashError """ return 'Exception CarCrashError' class GluttonyError(Exception): """Дочерний класс GluttonyError. Родитель Exception """ def __str__(self): """ :return: Exception GluttonyError """ return 'Exception GluttonyError' class DepressionError(Exception): """Дочерний класс DepressionError. Родитель Exception """ def __str__(self): """ :return: Exception DepressionError """ return 'Exception DepressionError' def one_day(): """ Функция возвращает случайное число от 1 до 7, если с вероятностью 1 к 10 не выпало одно из исключений. """ errors = [KillError, DrunkError, CarCrashError, GluttonyError, DepressionError] try: if randint(1, 10) == 1: raise errors[randint(0, 4)] except (KillError, DrunkError, CarCrashError, GluttonyError, DepressionError) as error: with open('karma.log', 'a') as karma_error_file: karma_error_file.write(str(error) + '\n') return randint(1, 7) total_carma = 0 count_day = 0 while total_carma < 500: count_day += 1 total_carma += one_day() print('Поздравляю, вы достигли просветления за {} дней и набрали {} очков кармы.' ''.format(count_day, total_carma))