zoukankan      html  css  js  c++  java
  • Python练习-一辆购物车的寂寞都是Alex的错

    Alex大神的购物车需求:

    商品列表,选择商品后加入购物车,扣款显示余额,如余额不足则提示购买此商品还需充值的金额,退出后自动结账显示余额;

    # 编辑者:闫龙
    #弱鸡购物车程序,需求:定义金额,选择商品,没选择一次告知用户剩余金额,收入Q退出
    #定义Money变量为字符串,为之后的转换类型做祭奠
    Money="1";
    #首先判断Money的类型是否为int
    while(type(Money) != type(1)):
        #尝试将用户输入的金额转为int
        try:
            Money=int(input("请输入您本次携带的金额:"));
        #如果用户输入的金额不能被转成int,重复输入
        except:
            print("你在输入个什么鬼?");
    #定义商品的名称和商品的价格,价格与商品一一对应;
    Products = ["糖果","苹果","香蕉","黄瓜","茄子"];
    ProductsPrice = [15, 25, 20, 10, 5];
    #判断一下你手里的钱够不够买我们家最便的商品,不够就请自觉离开
    if Money < min(ProductsPrice):
        print("你么这点儿钱,买个毛线!");
        exit();
    #开始进入商城
    print("欢迎光临Fire商城!
    我们提供以下商品供您选择:");
    #用户选择的商品列表
    UserSelectList = [];
    #用户选择的商品价格列表
    UserSelectPrice = [];
    #开始循环商城商品列表
    while True:
        #输出商品列表使用for循环输出
        for i in range(0, len(Products)):
            print(str(i+1) + ". " + Products[i] + "	" + str(ProductsPrice[i]));
        #获取用户选择的商品
        UserSelect = input("请输入您所购买商品的编号或者名称(Q or 滚 结算购物车):");
        #判断如果不是退出的选项,继续进行
        if (UserSelect != "" and UserSelect != "Q" and UserSelect !="q") :
            #判断用户输入的是商品编码还是商品名称:
            try:
                #如果成功的将UserSelect转换为int则代表用户输入的是商品编码
                #-1的意思是商品显示编码与列表内位置相差1
                UserSelect = int(UserSelect)-1;
                #获取用户所输入商品编码所对应的商品名称
                UserProducts = Products[UserSelect];
                #为用户选择商品的价格列表加入当前选择商品的价格
                UserSelectPrice.append(ProductsPrice[UserSelect]);
            ##判断用户输入的是商品名称:
            except:
                #如果这个商品名称出现在商品列表中,则继续
                if(Products.count(UserSelect) > 0):
                    # 为用户选择商品的价格列表加入当前选择商品的价格
                    UserSelectPrice.append(ProductsPrice[Products.index(UserSelect)]);
                    #获取商品的名称
                    UserProducts = UserSelect;
                #如果商品不在列表中,则提示并重新循环
                else:
                    print("请问你在输入个什么鬼?");
                    continue;
            #判断用户的购物车中有没有商品,为计算余额是否充足
            if(len(UserSelectList)==0):
                #没有商品就直接将商品添加
                UserSelectList.append(UserProducts);
            else:
                #判断用户所选择的商品价格综合是否大于余额;
                if(sum(UserSelectPrice)> Money):
                    print("对不起,您的余额不足!如要购买",
                          UserProducts,"还需充值",(sum(UserSelectPrice)-Money));
                    #如果商品添加失败,则将最后添加到用户价格列表中的Item删除;
                    UserSelectPrice.pop(-1);
                else:
                    #将商品加入用户购物车
                    UserSelectList.append(UserProducts);
            print("当前余额:",Money-sum(UserSelectPrice),"");
        else:
            break;
    print("您本次购买的商品如下:");
    for i in range(0, len(UserSelectList)):
        print(str(i + 1) + ". " + UserSelectList[i] + "	" + str(UserSelectPrice[i]));
    print("共计:",sum(UserSelectPrice),"");
    print("您的余额:",Money-sum(UserSelectPrice),"");
  • 相关阅读:
    从 JavaScript 到 TypeScript 系列
    有了 indexOf,为什么 ECMAScript 7 还添加了 Array.prototype.include
    网站部署 HTTPS 中需要做的事情
    从 HTTP 到 HTTPS
    从 HTTP 到 HTTPS
    co.js
    记jQuery.fn.show的一次踩坑和问题排查
    JavaScript
    二、HttpClient
    1、网络爬虫
  • 原文地址:https://www.cnblogs.com/DragonFire/p/6635834.html
Copyright © 2011-2022 走看看