Python购物车练习

发布时间:2019-06-24 15:40:14编辑:auto阅读(1615)

    要求:

        1.启动程序后,然该用户输入工资,然后打印商品列表

        2.允许用户根据商品编号购买商品

        3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒

        4.可随时退出,退出时,打印已购买商品和余额


    python代码:

    #定义商品列表
    shopping = {
        1:["手机",1000],
        2:["电脑",4000],
        3:["平板",3000]
    }
    #while循环 判断 用户输入的工资是否是整数,而并不是字母或者其他。
    while True:
        gongzi = input("请输入您的工资(精确到元):")
        #判断输入的是否是整数
        if gongzi.isdigit():
            gongzi = int(gongzi)
            # 用于存储临时购买商品的列表
            shopping_list = []
            #定义不断购买的一个循环过程
            while True:
                print("产品列表如下".center(30,"="))
                #循环字典,并打印出来
                for i in shopping:
                    print(i,shopping[i][0],shopping[i][1])
                goumai = input("请输入你要购买商品的序号:[按q退出]")
                if goumai.isdigit():
                    goumai1 = int(goumai)
                    #如果购买商品的价格小于等于用户的工资,就把商品加入临时购买商品的列表,并打印余额。
                    if shopping[goumai1][1] <= gongzi:
                        #下面 把商品的序号、商品名称、商品价格 加入到一个商品元组里边
                        goumai_list = goumai1,shopping[goumai1][0],shopping[goumai1][1]
                        #讲商品元组追加到临时购买的商品列表里;
                        shopping_list.append(goumai_list)
                        #计算用户的余额=用户登录时输入的工资-购买商品的价格
                        gongzi = gongzi - shopping[goumai1][1]
                        print("您的余额是{0}".format(gongzi))
                        continue
                    print("余额不足,当前余额{0}$".format(gongzi))
                elif goumai == "q":
                    print("您已购买以下商品:".center(30,"-"))
                    name = ""
                    for l in shopping_list:
                        print(l[0],l[1],l[2])
                    print("您的余额是{0}$".format(gongzi))
                    exit()
                else:
                    print(">>>输入错误!")
        else:
            print(">>>输入错误!")


    python购物车优化版本--http://506554897.blog.51cto.com/2823970/1939657

关键字