Счастливое число

Что нужно сделать

Напишите программу, которая запрашивает у пользователя число до тех пор, пока сумма этих чисел не станет больше либо равна 777. Каждое введённое число при этом дозаписывается в файл out_file.txt. Сделайте так, чтобы перед дозаписью программа с вероятностью 1 к 13 выбрасывала пользователю случайное исключение и завершалась.

Пример 1

Введите число: 10
Введите число: 500
Введите число: 200
Введите число: 67
Вы успешно выполнили условие для выхода из порочного цикла!

Содержимое файла out_file.txt:
10
500
200
67

Пример 2

Введите число: 10
Введите число: 500
Вас постигла неудача!

Содержимое файла out_file.txt:
10

Что оценивается

  • Результат вычислений корректен.
  • Формат вывода соответствует примеру.
  • input содержит корректные приглашения для ввода.
  • Основной функционал описан в отдельных функциях.
  • Переменные и функции имеют значащие имена, не только a, b, c, d (подробнее об этом в видео 2.3).
  • Выходной файл назван так, как указано в задании.
import random

with open('out_file.txt', 'w', encoding='UTF-8') as file:
    finish = 0
    while finish < 777:
        try:
            exc = random.randint(1, 13)
            if exc == 13:
                raise BaseException
            num = int(input('Введите число: '))
            file.writelines(str(num) + '\n')
            finish += num
        except BaseException:
            print('Вас постигла неудача!')
            break
    if finish >= 777:
        print('Успех!')

with open('out_file.txt', 'r', encoding='UTF-8') as file:
    print('\nСодержимое файла out_file.txt: ')
    print(file.read())