Что нужно сделать
Напишите программу, которая запрашивает у пользователя число до тех пор, пока сумма этих чисел не станет больше либо равна 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())