On 2022-05-23 20:36, Tola Oj wrote:
i am trying to print this code but it keeps giving me this typeerror,
please help. the csv file format i am trying to change into a list is in a
different module.
class invest_crypto:
crypto_current_rate = 0.05
client_list = []
def __init__(self, name, surname, amount_Deposited, amount_to_transfer):
self.name = name
self.surname = surname
self.amount_Deposited = amount_Deposited
self.amount_to_transfer = amount_to_transfer
invest_crypto.client_list.append(self)
def calculate_customer_transfer(self):
self.customer_transfer = (self.crypto_current_rate * self.
amount_Deposited) + self.amount_Deposited
return self.customer_transfer
@classmethod
def access_client_details(cls):
with open('C:\\Users\\ojomo\\OneDrive\\Desktop\\myexcel\\
oop_learn.py\\myExperiment.py\\clientDetails.csv', 'r' ) as f:
reader = csv.DictReader(f)
clientDetails = list(reader)
for item in clientDetails:
invest_crypto(
name=item.get('name'),
surname=item.get('surname'),
amount_Deposited=item.get('amount_deposited'),
amount_to_transfer=item.get('amount_to_transfer')
)
@staticmethod
def __repr__(self):
return f"('{self.name}', '{self.surname}', '{self.amount_Deposited}',
'{self.amount_to_transfer}')"
invest_crypto.access_client_details()
print(invest_crypto.client_list())
"this typeerror"? What type error? You haven't shown the traceback.
I'm guessing that it's complaining about the last line, where you're
calling 'client_list', which is a list. Don't call something that's not
callable!
The last line should be:
print(invest_crypto.client_list)
(I'm not going to mention the way you're creating instances that append
themselves onto a list that's on the class; that's just weird, IMHO...)
--
https://mail.python.org/mailman/listinfo/python-list