A bus card holds balance. Finish ride(fare): if there's enough money, take the fare off and return True; if not, take nothing and return False. ride_count tries each ride and gives (rides taken, money left).
ride_count(10, [2, 2, 3])→(3, 3)ride_count(5, [3, 3])→(1, 2)class BusCard:
def __init__(self, balance):
self.balance = balance
def ride(self, fare):
# your code here: if there's enough, take off the fare and return True
return False
def ride_count(balance, fares):
card = BusCard(balance)
rides = 0
for fare in fares:
if card.ride(fare):
rides += 1
return (rides, card.balance)
Run tries the examples. When they look right, Submit.