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商城!\n我们提供以下商品供您选择:");
#用户选择的商品列表
UserSelectList = [];
#用户选择的商品价格列表
UserSelectPrice = [];
#开始循环商城商品列表
while True:
    #输出商品列表使用for循环输出
    for i in range(0, len(Products)):
        print(str(i+1) + ". " + Products[i] + "\t" + 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] + "\t" + str(UserSelectPrice[i]));
print("共计:",sum(UserSelectPrice),"元");
print("您的余额:",Money-sum(UserSelectPrice),"元");
时间: 2024-08-02 07:00:26

Python练习-一辆购物车的寂寞都是Alex的错的相关文章

C++ 数组名作为函数参数 都是我的错

void func(char arr[100]) { cout<<sizeof(arr); } 这样一道题,我以为输出的是100呢……32位系统,结果是4 因为:数组名在函数体中被当成一个指针来使用 #include <iostream> using namespace std; void myF( char arr[100]) { cout<<sizeof(arr)<<endl; } int main(void) { char arr[100]; myF(

Python自动化之下拉框,隐藏标签定位 代码&报错解决

python自动化:下拉框定位方法之select标签 style="display: none;"报错selenium.common.exceptions.ElementNotVisibleException: Message: element not visible: Element is not currently visible and may not be manipulated 界面源码:(禅道为例)排查:1)因为是隐藏的,需要操作其可见才可定位 2)若还是无法定位,请查看前

@程序员,承认吧,都是你的错!

老读者都知道的,我没干过什么大事,无非就是敲敲代码.写写文章.还有就是及时吃饭.睡觉.打豆豆. 这不,就有个哥们看不惯我了,再见之后还要撂下这句狠话:"你这种人是干不了大事的." 好吧,我承认,都是我的错!我真没想过要干什么大事.我觉得打打杂,扫扫地挺好的.我估计我来到这个世界上的时候,父母也没对我抱太大的期望,否则清华北大没录取我这事会把他们气疯掉的.事实上,即便我只考了个大专,他们仍然没有抛弃我.放弃我. 不知道大家有没有看过<西西里岛的美丽传说>,漂亮的女主人公(女神

Python实战之ATM+购物车

ATM + 购物车 需求分析 ''' - 额度 15000或自定义 - 实现购物商城,买东西加入 购物车,调用信用卡接口结账 - 可以提现,手续费5% - 支持多账户登录 - 支持账户间转账 - 记录每月日常消费流水 - 提供还款接口 - ATM记录操作日志 - 提供管理接口,包括添加账户.用户额度,冻结账户等... - 用户认证功能 ''' 一个项目是如何从无到有的 # 1.需求分析: ''' 开发项目前,都必须找到相应的客户,让客户给企业提出项目的需求,以及需要实现的功能有哪些,拿到需求后再

新手小白 python之路 Day4 (购物车小程序)

直接上需求: 购物车程序需求启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒可以随时退出,退出时,打印已购买商品和余额 一个比较简单的程序,使用列表操作写的,写了六个函数 Abnormal() 通过抛出异常来判断输入的编号是否合法 Commodity()取出该商品参数 名称 价格 AddShoppingCart() 添加到购物车 Shopping() 判断工资能否购买该商品,能的话加入到购物车 PrintLibra

Python之路 day2 购物车小程序1

1 #Author:ersa 2 ''' 3 程序:购物车程序 4 5 需求: 6 7 启动程序后,让用户输入工资,然后打印商品列表 8 允许用户根据商品编号购买商品 9 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 10 可随时退出,退出时,打印已购买商品和余额 11 12 #知识点:len(market):列表长度(列表中的条目个数) 13 isdigit() 判断输入的内容是否是数字,TRUE 是数字 14 取列表数据 enumerate 15 for index,item i

python学习第二周 购物车

shopping_mall.py1. 介绍 这是一个简单的购物车软件,模拟用户登陆.购买.重置等操作.2. 环境需求 python 3.0 及以上版本.3. 移植问题 windows 下运行,linux上没有做测试.4. 特性 1)执行程序,提示用户输入用户名.密码 2)密码文件 pass.txt 测试账户:admin 密码 admin 3)输入错误超过3次,锁定账户. 4)账户信息存储在pass.txt.格式:用户名 密码 锁定状态. 5)锁定状态=0,表示用户没有锁定.锁定状态=1,表示该用

python里的类与一切事物都是对象

对于python,一切事物都是对象,对象基于类创建 列如 name='csdcs' li=[1,3,43] 上面两个都是对象,因为它们都是python中的 类里面存着许多的功能,功能的集合,     对象里存着具体输入的值,与类的内存地址 当对象要进行操作实现不同的功能时,它就会根据保存的内存地址去寻找类引用里面的功能 这样,避免了,功能相同的对象里面,每个对象都去保存相同的功能,它们功能相同都直接去引用类里的功能就行了,类里面就保存了它们的功能 所以对象都是基于类创建的 列如: ll=[11,

Python 练习1——简易购物车

简易购物车用于了解购物车的大致原理,利用Python实现简易购物车的基本功能,即:用户将所选择的商品放入购物车中,结算时自动输出所购买商品及所剩余额. # -*- coding: UTF-8 -*- product_list = [ ('iphone',6000), ('Mac Pro',10000), ('bike',2000), ('Watch',16000), ('coffee',30), ('book',40)]shopping_list = []salary = input("Inpu