python - TypeError: unorderable types: atm() >= int() -
i have 3 classes, atm
(main class), atmfees
(subclass of atm) , transaction. want have class atmfees
inherit methods parent class atm
.
the atmfees class takes atm
object parameter, initializing atm.__init__(self, balance)
i want override parent/super class's "withdrawal" method, modifying 1 of parameters -- subtracting 50 cents amount
-- , accessing super method in atm
new amount.
doing returns typeerror: unorderable types: atm() >= int()
i have absolutely no idea here, i've changed can't seem work.
import transaction import random class atm(object): def __init__(self, bal): self.__balance = bal self.transactionlist = [] def deposit(self, name, amount): self.__balance += amount ndt = transaction.transaction(name, amount) self.transactionlist.append(ndt) def withdraw(self, name, amount): if self.__balance >= amount: self.__balance -= amount nwt = transaction.transaction(name, amount) self.transactionlist.append(nwt) else: print('uh oh, not enough money!') def get_balance(self): return self.__balance def __str__(self): string_return = "" transaction in self.transactionlist: string_return += str(transaction) + "\n" string_return = '\n' + 'the balance $' + format(self.__balance, ',.2f') return string_return class atmfee(atm): def __init__(self, balance): atm.__init__(self, balance) def widthrawal(cls, name, amount): amount = amount - .50 atm.widthrawal(cls, name, amount) def deposit(): pass def main(): myatm = atm.atm(75) fees = atm.atmfee(myatm) fees.withdraw("2250",30) fees.withdraw("1000",20) myatm.deposit("3035",10) print("let's withdraw $40") if myatm.withdraw("amazon prime",40) == 0: print ("oh noes! no more money!") print() print("audit trail:") print(myatm) main();
the full code posted here: https://gist.github.com/markbratanov/e2bd662d7ff83ca5ef61
any guidance / appreciated.
the error message means says - can't order object , integer. possible (for reason) in python 2, ordering arbitrary (for example, empty dict {}
greater integer, no matter how large...), not in python 3, because comparison meaningless.
Comments
Post a Comment