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

本文介绍了一个基于字典的用户登录系统与购物模块的Python实现。系统首先验证用户名和密码,登录成功后用户可输入工资查看商品列表,并根据商品编号进行购买。文章详细展示了如何检查余额并完成交易流程。


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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值