pricedict = {"A1":2,"A2":3,"A3":4,"A4":5,"A5":8,"A6":6} mountdict = {"A1":0,"A2":0,"A3":0,"A4":0,"A5":0,"A6":0} moneybox = {"10":0,"5":0,"2":0,"1":0} global balance balance = 0 def r(command): command = command.split() amounts = list(map(int,command[1].split('-'))) #print(amounts) mountdict["A1"] = amounts[0] mountdict["A2"] = amounts[1] mountdict["A3"] = amounts[2] mountdict["A4"] = amounts[3] mountdict["A5"] = amounts[4] mountdict["A6"] = amounts[5] #print(mountdict) money = list(map(int,command[2].split('-'))) moneybox["1"] = money[0] moneybox["2"] = money[1] moneybox["5"] = money[2] moneybox["10"] = money[3] #print(moneybox) print("S001:Initialization is successful") def p(command): global balance num = int(command[2:]) if num != 1 and num != 2 and num != 5 and num!= 10: print("E002:Denomination error") elif (moneybox["2"]*2+moneybox["1"])<num and num != 1 and num != 2: print("E003:Change is not enough, pay fail") elif mountdict["A1"] + mountdict["A2"] + mountdict["A3"] + mountdict["A4"] + mountdict["A5"] + mountdict["A6"] == 0: print("E005:All the goods sold out") else: balance = balance + num print("S002:Pay success,balance=" + str(balance)) moneybox[str(num)] = moneybox[str(num)] + 1 #print(moneybox) def b(command): global balance x = command[2:] if x not in "A1 A2 A3 A4 A5 A6": print("E006:Goods does not exist") elif mountdict[x] == 0: print("E007:The goods sold out") elif balance < pricedict[x]: print("E008:Lack of balance") else: balance = balance - pricedict[x] print("S003:Buy success,balance=" + str(balance)) mountdict[x] = mountdict[x] - 1 #print(mountdict) def c(): global balance c10 = 0 c5 = 0 c2 = 0 c1 = 0 if balance == 0: print("E009:Work failure") else: while balance > 0: if balance >= 10 and moneybox["10"] >= 1: balance = balance -10 c10 = c10 + 1 moneybox["10"] = moneybox["10"] - 1 elif balance >= 5 and moneybox["5"] >= 1: balance = balance - 5 c5 = c5 + 1 moneybox["5"] = moneybox["5"] - 1 elif balance >= 2 and moneybox["2"] >= 1: balance = balance - 2 c2 = c2 + 1 moneybox["2"] = moneybox["2"] - 1 elif balance >= 1 and moneybox["1"] >= 1: balance = balance - 1 c1 = c1 + 1 moneybox["1"] = moneybox["1"] - 1 else: balance = balance -1 print("1 yuan coin number=" + str(c1)) print("2 yuan coin number=" + str(c2)) print("5 yuan coin number=" + str(c5)) print("10 yuan coin number=" + str(c10)) def q(command): if len(command) == 3: if command[2] == "0": index = [0 for x in range(6)] for i in range(6): index[i] = mountdict["A" + str(i+1)] index.sort(reverse=1) for i in range(6): for j in range(6): if mountdict["A" + str(j+1)] == index[i]: print("A" + str(j+1) + " " + str(pricedict["A" + str(j+1)]) + " " + str(mountdict["A" + str(j+1)])) break elif command[2] == "1": print("1 yuan coin number=" + str(moneybox["1"])) print("2 yuan coin number=" + str(moneybox["2"])) print("5 yuan coin number=" + str(moneybox["5"])) print("10 yuan coin number=" + str(moneybox["10"])) else: print("E010:Parameter error") commands = input().split(";") commands.pop() for command in commands: if command[0] == 'r': r(command) elif command[0] == 'p': p(command) elif command[0] == 'b': b(command) elif command[0] == 'c': c() elif command[0] == 'q': q(command)