#python #class #attributes
#python #класс #атрибуты
Вопрос:
У меня есть эта программа для банковского счета с классом. Предполагается внести баланс на счет, как вы можете видеть в a1.deposit(1000), а затем обновить баланс на счете.
class BankAccount:
def __init__(self,first_name,last_name,number,balance):
self.first_name = first_name
self.last_name = last_name
self.number = number
self.balance = balance
def deposit(self,amount):
self.balance = amount
def withdraw(self,amount):
self.withdraw -= amount
def print_info(self):
first=self.first_name
last=self.last_name
number=self.number
balance = self.balance
s=f'{first} {last}, {number}, balance: {balance}'
print(s)
a1= BankAccount('Gang', 'Land', '19371554951', '20000')
a1.deposit(1000)
print(a1.balance)
Я не понимаю, что не так, потому что я получаю только ошибку типа:
self.balance = amount
TypeError: can only concatenate str (not "int") to str
Ответ №1:
Я полагаю, что ваша ошибка связана с этой строкой :
a1= BankAccount('Gang', 'Land', '19371554951', '20000')
если вы хотите увеличить значение balance , вам нужно инициализировать эту переменную как целое число или число с плавающей запятой. Так что просто удалите » около 20000 и повторите попытку.