Как вывести в процентах количество снятий и пополнений?
Есть задача: Написать функцию, которая будет выводить количество операций, количество в процентах снятий и пополнений средств. Не могу понять как ее реализовать. Я подумал, что возможно это сделать через счетчик, но не получается, я так понял, что нельзя указывать, что переменная находится в функции.. Мой код:
import os
class Account(object):
def __init__(self, name, lastname,password):
self.name = name
self.lastname = lastname
self.path = f"{self.name}-{self.lastname}"
self.password = password
if os.path.exists(f"base/{self.path}") == False:
self.balance = 0
self.replenishment = 0
self.subtraction = 0
self.__create_account()
else:
self.balance = int(self.__read_file('balance'))
self.replenishment = self.__read_file('replenishment')
self.subtraction = self.__read_file('subtraction')
def __create_account(self):#Создать клиента
os.mkdir(f"base/{self.path}")
self.__create_file('info',f"{self.name}\n{self.lastname}")
self.__create_file('balance',f"{self.balance}")
self.__create_file('replenishment',f"{self.replenishment}")
self.__create_file('subtraction',f"{self.subtraction}")
self.__create_file('password',f"{self.password}")
def __create_file(self,name,message): #Создать файл
file = open(f"base/{self.path}/{name}.txt", "w", encoding="utf-8")
file.write(f"{message}")
file.close()
def __read_file(self,name): #Прочитать файл
file = open(f"base/{self.path}/{name}.txt", "r", encoding="utf-8")
text = file.read()
file.close()
return text
def add_balance(self,choice,voice ='не указана'): # Добавить баланс
if choice >=10 and choice <= 10000:
self.balance += choice
print(f'Уважаемый {self.name} карта была пополенена на {choice} р.')
self.__rewriting_balance()
def __rewriting_balance(self): # Перезаписать баланс
file = open(f'base/{self.path}/balance.txt', 'w', encoding='utf-8')
file.write(f'{self.balance}')
file.close()
def take_away_balance(self,choice,pin,voice ="Не указана"): # Снять с баланса
if choice >=50 and choice <= 10000:
if choice <= self.balance:
if pin == self.password:
self.balance -= choice
print(f'Уважаемый(ая) {self.name} , с карты было списано {choice} р.')
self.__rewriting_balance()
else:
print("Пароль не верный")
else:
print("Много хочешь!")
else:
print("Отказано")
Моя ужасная функция:
def get_info(self):
for i in take_away_balance():
i+=1
for u in add_balance():
u+=1
return i , u