阿里天池“水果店小系统”的python实现

最近在阿里天池上面学习人工智能的课程,发现这个“水果店小系统”挺有趣的,实现难度也不大,就编写了代码,实现了它,顺便复习了一下python的基础语法。

class Fruit:       #定义一个水果类,并封装
    def __init__(self, fname, price, count, remark):  #定义一个结构体
        self.fname = fname
        self.price = price
        self.count = count
        self.remark = remark
    def show_info(self):  #定义一个展示函数,展示水果的相关信息
        print("%s\t\t%d\t\t%d\t\t%s"%(self.fname, self.price, self.count, self.remark))

class Menu: #定义一个菜单类
    def __init__(self): #定义一个结构体,并定义两个变量
        f1 = Fruit("苹果", 6, 10, "苹果很好吃")
        f2 = Fruit("猕猴桃", 10, 20, "猕猴桃很酸")
        self.fruit_list = [f1, f2] #通过调用fruit_list函数,将变量写进列表
    def show_main_menu(self):
        print("======================欢迎使用水果库存系统==========================")
        print("1.显示水果列表")
        print("2.添加新水果")
        print("3.查看特定水果信息")
        print("4.水果下架")
        print("5.退出")
        print("="*65)
        return eval(input("请选择:")) #输入一个数值
    def add_fruit(self): #定义一个添加水果函数
        fname = input("请输入水果名称:")
        f = self.get_fruit(fname) #得到水果名称
        if f is None: #如果水果名称不在列表里面,就新增水果,依次输入价格,库存以及备注信息
            price = eval(input("请输入水果价格:"))
            count = eval(input("请输入水果库存:"))
            remark = input("请输入备注信息:")
            f = Fruit(fname, price, count, remark)
            self.fruit_list.append(f)
        else: #若水果信息在列表里面,执行以下程序
            count = eval(input("请输入追加的库存量:"))
            f.count = f.count + count
        print("添加成功!")
    def get_fruit(self,fname): #得到水果名称
        for f in self.fruit_list:
            if f.fname.__eq__(fname): #.__eq__用于判断字符是否相等
                return f
            return None

    def show_fruit(self): #定义一个函数显示水果信息
        fname = input("请输入水果名称:")
        f = self.get_fruit(fname)
        print("-"*65)
        print("名称\t\t单价\t\t库存\t\t备注")
        if f is None:
            print("对不起,没有找到相关信息!")
        else:
            f.show_info()
        print("-"*65)
    def del_fruit(self): #定义一个函数,将水果下架
        fname = input("请输入需要下架的水果名称:")
        f = self.get_fruit(fname)
        if f is not None:
            slt = input("是否确认删除?(Y/N)")
            if "Y".__eq__(slt.upper()):
                self.fruit_list.remove(f) #使用remove将水果信息从列表中删除
                print("删除成功!")
                return
        print("没有找到需要下架的水果信息!")

    def show_fruit_list(self): #显示水果列表
        print("-"*65)
        print("名称\t\t单价\t\t库存\t\t备注")
        if self.fruit_list is None or len(self.fruit_list)==0:
            print("对不起,库存为空!")
        else:
            for f in self.fruit_list:
                f.show_info()
        print("-"*65)
    def my_exit(self): #定义一个退出函数
        slt = input("是否确认退出?(Y/N)")
        flag = not "Y".__eq__(slt.upper()) #使用upper将输入转化为大写字母,若不与Y相等,则flag=True,并返回flag
        return flag

m = Menu()
flag = True
while flag: #当flag=True时,显示菜单
    slt = m.show_main_menu()
    if slt == 1:
        m.show_fruit_list()
    elif slt == 2:
        m.add_fruit()
    elif slt == 3:
        m.show_fruit()
    elif slt == 4:
        m.del_fruit()
    elif slt == 5:
        flag = m.my_exit()
print("谢谢使用,再见!")

以上就是这个“水果店小系统”的全部代码了。
效果如下:
阿里天池“水果店小系统”的python实现_第1张图片

你可能感兴趣的:(python小程序,python)