Top.Mail.Ru
Ответы

При повторном расчёте не верно работает накопитель в Python

Пользователь вводит сколько было выделено денег, и сколько сделал покупок.
Далее запрашиваем сколько было потрачено денег по факту на каждую покупку, и вы водим сколько он сэкономил или же потратил лишнее.
СУТЬ ПРОБЛЕМЫ: при первом расчёте всё верно считает, а если повторить расчёт, то накопитель почему-то оставляет в памяти предыдущие деньги и уже из них вычитает и выдаёт не верный ответ, ниже на скрине пример и вот сам код

1234567891011121314151617181920212223
 sum: int = 0                                                      # Накопитель 
repeat = 'Да'                                                # Для перезапуска цикла 
 
while repeat == 'Да': 
    print('___________') 
    x = int(input('Сколько выделено на месяц: ')) 
    y = int(input('Сколько покупок было совершено: ')) 
    for i in range(y): 
        print('___________') 
        print('Покупка № ', i + 1, sep='') 
        z = int(input('Сколько потрачено за эту покупку: ')) 
        sum = sum + z 
    if sum < x: 
        sum1 = x - sum 
        print('Вы сэкономили: ', sum1,) 
    elif sum > x: 
        sum2 = sum - x 
        print('Вы потратили лишее: ', sum2) 
    else: 
        print() 
        print('Потрачено ровно столько сколько было выделено') 
    print() 
    repeat = input('Повторить? (Да/Нет): ') 
По дате
По Рейтингу
Аватар пользователя
Просветленный

передвинь sum = 0 в тело цикла