#需求:
用户名和密码存放于字典中
启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
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('退出程序')