Перед дозаписью файла, скрипт должен выбросить случайное исключение и завершиться
import random
errors = [
'Не повезло',
'Повезло но не сильно',
'Красавчик, продолжай дальше'
]
rnd = 0
fl = 0
with open('out_file.txt', 'w') as file:
while rnd <= 777:
nums = int(input('Введите число: '))
rnd += nums
if 13 == random.randint(1, 13):
raise random.choice(errors)
print(nums, file=file)
Вот набросал, и работает как-то рандомно, то бросает исключения то нет и потом сам ругается на:
raise random.choice(errors)
TypeError: exceptions must derive from BaseException
Запрашиваем у пользователя число до тех пор, пока сумма этих чисел не станет больше либо равна 777.
Каждое введённое число при этом дозаписывается в файл out_file.txt
Перед дозаписью с вероятностью 1 к 13 выбрасывает пользователю случайное исключение и завершается. Пример:
Введите число: 10
Введите число: 500
Введите число: 200
Введите число: 67
Вы успешно выполнили условие для выхода из порочного цикла!
Содержимое файла out_file.txt:
10
500
200
67
Вариант 2:
Введите число: 10
Введите число: 500
Вас постигла неудача!
Содержимое файла out_file.txt:
10
Ответы (1 шт):
Автор решения: Sergey Derevianko
→ Ссылка
Оберните текст ошибки в тип Exception:
import random
errors = [
'Не повезло',
'Повезло но не сильно',
'Красавчик, продолжай дальше'
]
rnd = 0
fl = 0
with open('out_file.txt', 'w') as file:
while rnd <= 777:
nums = int(input('Введите число: '))
rnd += nums
if 13 == random.randint(1, 13):
raise Exception(random.choice(errors))
print(nums, file=file)