shopping = {
'A1':{'name':'A1','price':2,'count':0},
'A2':{'name':'A2','price':3,'count':0},
'A3':{'name':'A3','price':4,'count':0},
'A4':{'name':'A4','price':5,'count':0},
'A5':{'name':'A5','price':8,'count':0},
'A6':{'name':'A6','price':6,'count':0}
}
currency = {
0:{'name':1,'count':0},
1:{'name':2,'count':5},
2:{'name':5,'count':5},
3:{'name':10,'count':0}
}
info = '6-5-4-3-2-1 4-3-2-1'
def initial(info):
data = []
li = info.split(' ')
for i in li[1][0:11:2]:
data.append(i)
for j,v in zip(data,shopping):
shopping[v]['count'] = j
data = []
for k in li[2][0:7:2]:
data.append(k)
for m,n in zip(data,currency):
currency[n]['count'] = m
print(shopping)
print(currency)
print('s001:Initialization is succesful')
def buyGoods(arges):
global surplus
inshopping = arges.split(' ')
inshopping = inshopping[1]
if inshopping in shopping.keys():
if shopping[inshopping]['count'] != 0:
if surplus >= shopping[inshopping]['price']:
surplus = surplus - shopping[inshopping]['price']
shopping[inshopping]['count'] = shopping[inshopping]['count'] - 1
print('S003:Buy success,balance=%s' %inshopping)
else:
print('E008:Lack of balance')
else:
print('E007,The goods sold out')
else:
print('E006,Goods does not exsit')
def payCoin(info):
global surplus
li = info.split(' ')
incurrency = int(li[1])
surplus = incurrency + int(surplus)
if incurrency in [1,2,5,10]:
if incurrency < (currency[0]['count']+currency[1]['count']*2):
if surplus <= 10:
for i in shopping.values():
if i['count'] != 0:
break
else:
print('E005:All the goods sold out')
for i in currency.values():
if incurrency == i['name']:
i['count'] += 1
print('S002:Pay success,balance=%d' %incurrency)
else:
print('E004:Pay the balance is beyond the scope biggeest')
else:
print('E003:Change is not enough,pay fail')
else:
print('E002:Denomination error')
def returnCoin():
global surplus
print(surplus)
li =[0,1,2,3]
if surplus != 0:
if surplus > 0:
for i in li[::-1]:
if surplus >= currency[i]['name']:
if int(surplus/currency[i]['name']) <= currency[i]['count'] :
print('%d yuan coin number= %d' %(currency[i]['name'] ,int(surplus/currency[i]['name'])))
surplus = surplus - (int(surplus/currency[i]['name'])*currency[i]['name'])
else:
print('%d yuan coin number= %d' %(currency[i]['name'] ,currency[i]['count']))
surplus = surplus - (currency[i]['name']*currency[i]['count'])
else:
print('%d yuan coin number= 0' %(currency[i]['name']))
else:
print('E009:Work failure')
def my_sort(info):
choice = info.split()
if choice[1] == '0':
li = sorted(shopping.values(),key=lambda v : (v['count'],v['price']),reverse=True)
for i in li:
print(list(i.values()))
else:
for coin in currency.values():
print('%d yuan coin number = %d' %(coin['name'],coin['count']))
surplus = 0
def main():
while True:
info = input('input')
if info[0] == 'r':
initial(info)
elif info[0] == 'b':
buyGoods(info)
elif info[0] == 'p':
payCoin(info)
elif info[0] == 'c':
returnCoin()
elif info[0] == 'q':
my_sort(info)
else:
exit()
main()
自动售货系统
最新推荐文章于 2021-10-06 22:32:52 发布