最近在阿里天池上面学习人工智能的课程,发现这个“水果店小系统”挺有趣的,实现难度也不大,就编写了代码,实现了它,顺便复习了一下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("谢谢使用,再见!")