~~~~练习~~~~购物车程序


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


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('退出程序')

 

posted @ 2019-01-10 18:58  猪光宝气  阅读(123)  评论(0编辑  收藏  举报