Python控制台实现简单的购物车

@[TOC]Python实现 简单的控制台 购物车

记录自己初学python的过程

功能描述:
功能描述
1、输入充值金额进行充值,输出商品清单

在这里插入图片描述

2、选择商品编码,输入存在的商品编码则添加到购物车并显示余额,若编码不存在或输入格式有误则提示错误并重新输入。

在这里插入图片描述

3、输入商品编号继续添加商品,若超出余额则提示余额不足。

在这里插入图片描述

4、输入‘q’或‘Q’结束购物,显示购买的商品清单。

在这里插入图片描述

代码部分

# -*- codeing = utf-8 -*-
# @Time:2021/3/15 18:34
# @Author:王家璇
# @File:ShopCar.py
# @Software:PyCharm

products = [["iphone",5800],["MacPro",14000],["小米10",3999],["Mate40",4999],["荣耀20S",2999]]#商品清单

shopcar = [0,0,0,0,0,0]#购物车列表,存储物品的数量
#shopcar = [0 for i in range(6)]
sum=0              #商品总价
count=0            #商品数量

money = input("请输入充值数额:")#充值钱包
money = int(money)
print("您充值了 %d 元,欢迎开始购物"%money)

#打印商品列表
print("-"*5,"商品列表","-"*5);
for i,item in enumerate(products):  #enumerate函数获取下标
    print(str(i)+"\t"+item[0]+"\t"+str(item[1])); #str类型只能连接str类型, int要强制转换

# for product in products:   #for循环打印
#     print(products.index(product),end="\t")
#     for item in product:
#         print(item,end="\t")
#     print()
while True:

    id = input("请输入您要购买的物品的编码(退出请按q):")
    if id.isdigit():           #判断输入是否为数字
        id = int(id);
        if id < 0 or id > len(products)-1:  #容错判断
            print("\033[1;31m请输入正确的商品编码\033[0m");
            continue;
        else:
            if money>=int(products[id][1]):
                shopcar[id]+=1;             #购物车中对应商品数量+1
                count+=1;                   #总数+1
                money -=int(products[id][1]) #余额减少
                print("\033[0;33m您的余额剩余%d\033[0m"%money)
            else:
                print("余额:%d\t\033[1;31m您的余额不足请重新选择\033[0m"%money)

    elif id.isalpha() and id=="q" or id =="Q":
        if count==0:
            print("您没有购买任何东西,欢迎下次光临!");
        else:
            print("-"*5,"购物清单","-"*5)
            i=0;
            for sumerise in shopcar:     #总计
                if sumerise!=0:          #将购物车中数量不为零的物品输出,为零的跳过 i+1继续遍历
                    print(products[i][0]+"\t"+str(products[i][1])+"\t"+"数量:"+str(sumerise)+"个");
                    sum+=products[i][1]*sumerise;
                i+=1;
            print("总计:%d 件商品 %d 元"%(count,sum));
            print("余额:%d"%money)
        exit();
    else:
        print("输入格式有误,请输入数字或q退出系统");
        continue;
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值