class CreditCard:
def __init__(self,card_no,balance):
self.card_no=card_no
self.balance=balance
class Customer:
def __init__(self,cards):
self.cards=cards
def purchase_item(self, price, card_no):
if price < 0:
raise Exception("Invalid Price")
if card_no not in self.cards:
raise Exception("Wrong card")
if price>self.cards[card_no].balance:
raise Exception("Wrong card")
card1=CreditCard(101,800)
card2=CreditCard(102,2000)
cards={card1.card_no:card1,card2.card_no:card2}
c=Customer(cards)
while(True):
card_no=int(input("Please enter a card number"))
try:
c.purchase_item(1200,card_no)
except Exception as e:
if str(e)=="Invalid Price":
print("Product price is wrong")
break
if str(e)=="Wrong card":
continue
Y2xhc3MgQ3JlZGl0Q2FyZDoKICAgIGRlZiBfX2luaXRfXyhzZWxmLGNhcmRfbm8sYmFsYW5jZSk6CiAgICAgICAgc2VsZi5jYXJkX25vPWNhcmRfbm8KICAgICAgICBzZWxmLmJhbGFuY2U9YmFsYW5jZQoKY2xhc3MgQ3VzdG9tZXI6CiAgICBkZWYgX19pbml0X18oc2VsZixjYXJkcyk6CiAgICAgICAgc2VsZi5jYXJkcz1jYXJkcwoKICAgIGRlZiBwdXJjaGFzZV9pdGVtKHNlbGYsIHByaWNlLCBjYXJkX25vKToKICAgICAgICBpZiBwcmljZSA8IDA6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiSW52YWxpZCBQcmljZSIpCiAgICAgICAgaWYgY2FyZF9ubyBub3QgaW4gc2VsZi5jYXJkczoKICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJXcm9uZyBjYXJkIikKICAgICAgICBpZiBwcmljZT5zZWxmLmNhcmRzW2NhcmRfbm9dLmJhbGFuY2U6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiV3JvbmcgY2FyZCIpCmNhcmQxPUNyZWRpdENhcmQoMTAxLDgwMCkKY2FyZDI9Q3JlZGl0Q2FyZCgxMDIsMjAwMCkKY2FyZHM9e2NhcmQxLmNhcmRfbm86Y2FyZDEsY2FyZDIuY2FyZF9ubzpjYXJkMn0KYz1DdXN0b21lcihjYXJkcykKCndoaWxlKFRydWUpOgogICAgY2FyZF9ubz1pbnQoaW5wdXQoIlBsZWFzZSBlbnRlciBhIGNhcmQgbnVtYmVyIikpCiAgICB0cnk6CiAgICAgICAgYy5wdXJjaGFzZV9pdGVtKDEyMDAsY2FyZF9ubykKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBpZiBzdHIoZSk9PSJJbnZhbGlkIFByaWNlIjoKICAgICAgICAgICAgcHJpbnQoIlByb2R1Y3QgcHJpY2UgaXMgd3JvbmciKQogICAgICAgICAgICBicmVhawogICAgICAgIGlmIHN0cihlKT09Ildyb25nIGNhcmQiOgogICAgICAgICAgICBjb250aW51ZQ==