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

直接上需求:

购物车程序
需求
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒
可以随时退出,退出时,打印已购买商品和余额

一个比较简单的程序,使用列表操作写的,写了六个函数

Abnormal() 通过抛出异常来判断输入的编号是否合法
Commodity()取出该商品参数 名称 价格
AddShoppingCart() 添加到购物车
Shopping() 判断工资能否购买该商品,能的话加入到购物车
PrintLibray() 打印列表清单
PrintPurchase()退出时打印购买清单
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: linghanchujian

"""
购物车程序
需求
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒
可以随时退出,退出时,打印已购买商品和余额
"""

isWhile = True

CommodityLibray = [["IPhone",5800],["Mac Pro",12000],["Starbuck Latte",31],["Alex Python",81],["Bike",800]]

ShoppingCart = [] #购物车

balance = -1 #余额

"""
通过抛出异常来判断输入的编号是否合法
"""
def Abnormal(Num):
    try:
        int(Num)
        return True
    except ValueError:
        print()
        return False
    pass

"""
取出该商品参数
"""
def Commodity(num,Libray,Number):
    for i,j in enumerate(Libray):
        if i==Number:
            return j[num]
    pass

"""
添加到购物车
"""
def AddShoppingCart(Money,Number):
    global balance
    Librys = []
    if Money >= Commodity(1, CommodityLibray, Number):
        balance = Money - Commodity(1, CommodityLibray, Number)
        Librys.append(Commodity(0, CommodityLibray, Number))
        Librys.append(Commodity(1, CommodityLibray, Number))
        ShoppingCart.append(Librys)
        print("已添加到购物车!!")
    else:
        print("余额不足!!")
    pass
"""
判断工资能否购买该商品,能的话加入到购物车
"""
def Shopping(Wages,Number):
    if balance == -1:
        AddShoppingCart(Wages, Number)
    else:
        AddShoppingCart(balance, Number)
    pass
"""
打印列表清单
"""
def PrintLibray(Libray):
    if len(Libray) != 0:
        Str = ""
        for i, j in enumerate(Libray):
            Str = str(i + 1) + "、 "
            for n, b in enumerate(j):
                Str += str(b) + "  "
            print(Str)
    pass

"""
退出时,打印购买的东西
"""
def PrintPurchase(StrInput):
    if StrInput == "n":
        if len(ShoppingCart) == 0:
            exit()
        else:
            print("已购买清单如下: ")
            PrintLibray(ShoppingCart)
            print("剩余余额:"+str(balance))
            exit()
    pass

Wages = input("请输入工资(n 退出): ")
PrintPurchase(Wages)
if Abnormal(Wages):
    if int(Wages)<=0 :
        print("工资不能少于0")
        exit()
else:
    print("工资不合法!!")

while isWhile:
    PrintLibray(CommodityLibray)
    CommodityNumber = input("请选择商品编号(n 退出): ")
    PrintPurchase(CommodityNumber)
    if Abnormal(CommodityNumber) :
        if int(CommodityNumber)>0 and int(CommodityNumber)<int(len(CommodityLibray)+1) :
            if balance == -1:
                Shopping(int(Wages),int(CommodityNumber)-1)
            else:
                Shopping(balance, int(CommodityNumber)-1)
            continue
        else:
            print("编号必须在0~~"+str(len(CommodityLibray)+1)+"之间!!")
            continue
    else:
        print("编号不合法!!")
        continue
    isWhile=False
时间: 2024-11-05 12:32:58

新手小白 python之路 Day4 (购物车小程序)的相关文章

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路5__购物车小程序练习

1,购物车小程序 需求: (1),启动程序后,打印全部商品列表,用户输入工资 (2),许用户根据商品编号购买商品 (3),用户购买商品,余额不足就退出程序,并打印信息 (4),可随时退出,退出时,打印已购买商品和余额 2,流程图 3,代码 #!/usr/bin/python3 Product_list = [ ('Doido钻戒 ',8000), ('ROLEX手表',20000), ('HuaWei P10',4000), ('AppleWatch',2000), ('Ipad',1000),

python基础练习之购物车小程序

此小程序购物流程为: 启动时欢迎语,提示输入购物预算金额,打印购物菜单,选择商品,商品可重复选择购买,当购物预算金额小于购买商品的金额时,返回购物列表并提示预算金额不足. #!/usr/bin/python # -*- coding:UTF-8 -*- shangpin = {'iphone7':6000,'mate9':5000,'macbook':10000,'note5':3000} yusuan = 30000 gouwu_list = [] print '==欢迎来到大猫商城==' p

新手小白 python之路 Day1 (三级菜单功能实现)

直接上需求: 实现一个多级菜单 三级菜单的实现 可以依次选择进入各个子菜单 也可以返回上级菜单 所需知识 列表 字典 需求也比较简单,但实际上做起来还是遇到许多的问题,我这边主要用到的知识点大概就是  字典 等 大致的思路 我是分别写了四个函数 Abnormal() 通过抛出异常来判断输入的编号是否合法 Province() 获取省级菜单 City() 获取市级菜单 Area() 获取区级菜单 来实现整个功能的,话不多说直接上代码了 #!/usr/bin/env python # -*- cod

新手小白 python之路 Day2 (列表应用)

今天整理了下 python 列表的应用 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author: linghanchujian # 列表应用 Array = ["Ling","Han","Chu","Jian"] Array1 = [1,2,3] print("---原来列表: "+str(Array)) Str = "Linghan"

Python入门基础---购物车小程序

1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的余额 salary = int (input('你的工资为:')) funds = salary * 0.6 # 取工资的60% #自定义本地商品数据列表[商品名称,价格,库存] menu = [['保留使用,不存数据'],['iPhone7',6000,30],['Notebook',9000,3

简单的购物车小程序

1 # -*- coding:utf-8 -*- #简单的购物车小程序 author:李学松 2 shopping_cart =[] 3 product_list_tatol = "---product list----" 4 welcome = "-----------welcome to shopping marketi----------" 5 product_list = [ 6 ('iphone',5800), 7 ('lenovo',900), 8 ('

python实现简单的数学小程序

冒泡法排列list利用打标记来优化 避免重复循环杨辉三角形process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="python实现简单的数学小程序" />建立二维列表,if判定打印出第一个与最后一个1,其余利用列表索引计算与上图类似将每一行列表尾部补0,利用负索引 直接

python爬虫学习之用Python抢火车票的简单小程序

利用Python制作自动抢火车票小程序,过年再也不要担心没票了! 前言 每次过年很多人都会因为抢不到火车票而回不了家,所以小编利用Python写了一个自动抢火车票的工具,希望大家能抢到火车票,回家过个好年! 我本来想自己写一个练练手的,但是转眼一想,Python 本身最大的优势是什么,不就是有很多牛逼的人已经造好轮子了吗?你只需要知道这些轮子并会使用就行了,这样会节省你大量的精力和时间,而且站在巨人的肩膀上,会看得更远.于是我在 github 上一搜索,果然有不少抢票程序,有的是 Python2