利用python实现购物车小程序

388次阅读
没有评论

利用python实现购物车小程序

购物思路:

(推荐教程:python基础教程)

  • 打印商品内容

  • 引导用户选择商品

  • 验证输入是否合法

  • 将用户选择商品通过choice取出来

  • 如果钱够,用本金saving减去该商品价格

  • 将该商品加入购物车

  • 循环遍历购物车里的商品,购物车存放的是已买商品

实现代码:

product_list=[
    ('Mac电脑',9500),
    ('windows电脑',800),
    ('法拉利',8800000),
    ('python入门教程',100),
    ('华为',6000),
 
]
saving=input('please input your money:')
shopping_car=[]
if saving.isdigit():
    saving=int(saving)
    while True:
        #打印商品内容
        for i,v in enumerate(product_list,1):
            print(i,'>>>>',v)
 
         #引导用户选择商品
        choice=input('选择购买商品编号[退出:q]:')
 
        #验证输入是否合法
        if choice.isdigit():
            choice=int(choice)
            if choice>0 and choice<=len(product_list):
                #将用户选择商品通过choice取出来
                p_item=product_list[choice-1]
 
                #如果钱够,用本金saving减去该商品价格,并将该商品加入购物车
                if p_item[1]<saving:
                    saving-=p_item[1]
 
                    shopping_car.append(p_item)
 
                else:
                    print('余额不足,还剩%s'%saving)
                print(p_item)
            else:
                print('编码不存在')
        elif choice=='q':
            print('------------您已经购买如下商品----------------')
            #循环遍历购物车里的商品,购物车存放的是已买商品
            for i in shopping_car:
                print(i)
            print('您还剩%s元钱'%saving)
            break
        else:
            print('invalid input')

测试:

please input your money:10000000
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:1
('Mac电脑', 9500)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:1
('Mac电脑', 9500)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:1
('Mac电脑', 9500)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:2
('windows电脑', 800)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:3
('法拉利', 8800000)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:3
余额不足,还剩1170700
('法拉利', 8800000)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:1
('Mac电脑', 9500)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:4
('python入门教程', 100)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:5
('华为', 6000)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:6
编码不存在
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:7
编码不存在
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:1
('Mac电脑', 9500)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:1*4
invalid input
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:3
余额不足,还剩1145600
('法拉利', 8800000)
1 >>>> ('Mac电脑', 9500)
2 >>>> ('windows电脑', 800)
3 >>>> ('法拉利', 8800000)
4 >>>> ('python入门教程', 100)
5 >>>> ('华为', 6000)
选择购买商品编号[退出:q]:q
------------您已经购买如下商品----------------
('Mac电脑', 9500)
('Mac电脑', 9500)
('Mac电脑', 9500)
('windows电脑', 800)
('法拉利', 8800000)
('Mac电脑', 9500)
('python入门教程', 100)
('华为', 6000)
('Mac电脑', 9500)
您还剩1145600元钱
 
Process finished with exit code 0
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:程序人生2022-12-08发表,共计4833字。
新手QQ群:570568346,欢迎进群讨论 Python51学习