#需求:
用户名和密码存放于字典中
启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
yonghu_dict={‘alex‘:‘123456‘,‘keven‘:‘111111‘,‘curry‘:‘666666‘}
product_dict=[[‘1‘,[‘apple‘,10]],
[‘2‘,[‘banana‘,5]],
[‘3‘,[‘orange‘,8]],
[‘4‘,[‘fish‘,20]]]
#用户登录
i=1
ii=True
kk=True
while i<=3 and kk:
name=input(‘请输入用户名:‘)
password=input(‘请输入密码:‘)
if (name in yonghu_dict.keys()) and password==yonghu_dict[name]:
print(‘登录成功!‘)
gz=input(‘请输入工资:‘)
print(product_dict)##########
yue=int(gz)
exit_no=True
your_choice=[]
#找出最便宜的商品
min=product_dict[0][1][1]
for j in range(len(product_dict)):
if product_dict[j][1][1]<min:
min=product_dict[j][1][1]
max=product_dict[0][1][1]
for k in range(len(product_dict)):
if product_dict[k][1][1]>max:
max=product_dict[k][1][1]
while ii and yue>=0 and exit_no:
if yue>=0 and yue<min:
print(‘余额不足‘)
kk=False
print(‘您选购的商品为:%s,当前余额为%s‘%(your_choice,yue))
break
elif yue>=max:
no=input(‘请选择商品编号:‘)
if no==‘aaa‘ :
exit_no=False
kk=False
print(your_choice,yue)
break
yue-=product_dict[(int(no)-1)][1][1]
your_choice.append(product_dict[(int(no)-1)][1][0])
elif yue<max and yue>=min:
LL=True
while LL and yue>min:
no=input(‘请选择商品编号:‘)
if no==‘aaa‘ :
exit_no=False
kk=False
print(your_choice,yue)
break
elif product_dict[(int(no)-1)][1][1]>yue:
print(‘选购商品价格大于余额,请重新选择‘)
continue
else:
yue-=product_dict[(int(no)-1)][1][1]
your_choice.append(product_dict[(int(no)-1)][1][0])
else:
print(‘输入错误,请重新输入‘)
i+=1
if i>3:
print(‘退出程序‘)
原文:https://www.cnblogs.com/haoy/p/10251772.html