美文网首页
Python实例篇之控制台超市系统V1.0

Python实例篇之控制台超市系统V1.0

作者: 山水墨阳 | 来源:发表于2019-10-08 19:49 被阅读0次

Python 实例篇

功能概要

实现简单的超市商品展示、添加、移除,选择性操作,购买结算的输入输出等。

知识点

-条件判断
-循环遍历
-输入输出
-方法定义调用
-基本数据类型

运行截图

运行截图-1 运行截图-2

案例代码

'''
Created on Oct 8, 2019
@author: Darker
控制台超市系统V1.0
'''

#定义历史商品数量
size = 10
#定义仓库
repository = dict()
#定义购物清单
shop_list = []

#定义一个函数来初始化商品
def init_repsitory():
    #初始化很多商品
    for g in range(1,size):
        #商品编码
        code = "G"+str(10000+g)
        good = (code,"商品"+str(code),100)
        repository[code] = good

#展示仓库商品信息
def show_repsitory():
    print("Welcome")
    print("The Goods List :")
    title = ("商品编码","商品名称","价格¥")
    print("%30s%30s%38s" % title)
    title = ("——————","——————————","————")
    print("%15s%16s%12s" % title)
    for good in repository.values():
        print("%15s%15s%12s" % good)

#显示订单
def show_list():
    sum = 0#记录总额
    print("=" * 100)
    if not shop_list:
        print("还未购买任何商品")
    else:
        title = "%-5s%-10s%20s%50s%15s%20s" % ("ID","条码" ,"商品名称 ","单价","数量","小计")
        print(title)
        for l in shop_list:
            sum += l[5]
            print("%-5s%-10s%5s%16s%6s%10s" % l)
        print("=" * 100)
        print(("  " * 100)+"订单总价:"+str(sum))
    operator()
    
#展示基本操作
def operator():
    x = input("What You Want To Do? \n1-Remove 2-Cancel 3-Shoping 4-Checkout 5-Break 6-ShowRepsitory:\n")
    if x == "1":
        if shop_list.__len__() == 0:
            print("没有购买任何商品")
            catching()
        i = int(input("Input ID What You Want To Remove? \n"))
        if i > shop_list.__len__() or i < 0:
            print("Not Exists ID")
            catching()
        else :
            item = shop_list[i-1]
            remove(item)
    elif x == "2":
        print("Cancel And ShowList")
        show_list()
    elif x == "3":
        shoping()
    elif x == "4":
        print("订单结算,欢迎下次光临")
    elif x == "5":
        print("结束购物,欢迎下次光临")
    elif x == "6":
        show_repsitory()
        show_list()
    else:
        catching()
        
#捕获异常提示通用处理
def catching():
    x = input("Input Not suported ,What you Want? 1-Shoping 2-Break 3-ShowList\n")
    if x == "1":
        shoping()
    elif x == "2":
        print("Shoping is Down!!!")
    elif x =="3":
        show_list()
    else:
        catching()
        
#移除商品
def remove(value):
    shop_list.remove(value)
    show_list()
    
#购买商品 
def shoping():
    index = shop_list.__len__()
    code = input("Please Input Goods Code:\n")
    if code not in repository:
        code = input("Code is not Real,Pleas Agin:\n")
        if code not in repository:
            code = input("Code is not Real,Pleas Agin:\n")
            if code not in repository:
                print("You had Check None 3's")
                x = input("Did You Want To Break? Y/N:")
                if x == "Y" or x == "y":
                    return
                elif x == "N" or x == "n":
                    shoping()
    #根据条形码找到商品
    goods = repository[code]
    #确定购买的件数
    num = input("Please Input Num Did you Want:\n")
    print("Picked : " + goods[1]+" 份数:"+str(num))
    
    #订单格式
    # ID,编码,名称,单价,份数,小计
    shop_list.append((index+1,code,goods[1],goods[2],int(num),(goods[2]*int(num))))
    x = input("Did You Want To Continue? Y/N:\n")
    if x == "Y" or x == "y":
        shoping()
    elif x == "N" or x == "n":
        show_list()
    else:
        catching()
        
#运行主程序
if __name__ == '__main__':
    init_repsitory()
    show_repsitory()
    shoping()
    
        

返回Python修炼册大纲

待后续有机会和灵感的时候更新

相关文章

网友评论

      本文标题:Python实例篇之控制台超市系统V1.0

      本文链接:https://www.haomeiwen.com/subject/yslipctx.html