0.完整代码
class Thing: def __init__(self, sname, name, detaction, state = 0): self.sname = sname self.name = name self.detaction = detaction self.state = state def __str__(self): status = '未借出' if self.state == 1: status = '已借出' return '缩写:(%s) 全称:%s 描述:%s\n状态:%s ' % (self.sname, self.name, self.detaction, status) class ThingManager: things = [] def __init__(self): thing1 = Thing('jsq','计算器','卡西欧') self.things.append(thing1) def menu(self): print('欢迎使用物资管理系统\n') while True: print('1.查询所有物资\n2.添加物资\n3.借物资\n4.归还物资\n5.退出系统\n') choice = int(input('请输入选择对应的功能:')) if choice == 1: self.show_all_thing() elif choice == 2: self.add_thing() elif choice == 3: self.lend_thing() elif choice == 4: self.return_thing() else: print('感谢使用!') break def show_all_thing(self): print('物资信息如下:') for thing in self.things: print(thing) print('') def add_thing(self): new_sname = input('请输入物资缩写:') new_name = input('请输入全称:') new_detaction = input('请输入物资描述:') new_thing = Thing(new_sname, new_name, new_detaction) self.things.append(new_thing) print('物资录入成功!\n') def check_thing(self,sname): for thing in self.things: if thing.sname == sname: return thing else: return None def lend_thing(self): sname = input('请输入物资的缩写:') res = self.check_thing(sname) if res != None: if res.state == 1: print('已经被借走') else: print('成功') res.state = 1 else: print('物资暂时没有收录在系统里') def return_thing(self): sname = input('请输入归还物资的缩写:') res = self.check_thing(sname) if res == None: print('没有该物资') else: if res.state == 0: print('物资没有被借走') else: print('归还成功!') res.state = 0 manager = ThingManager() manager.menu()
1.解释
class Thing: def __init__(self, sname, name, detaction, state = 0): self.sname = sname self.name = name self.detaction = detaction self.state = state def __str__(self): status = '未借出' if self.state == 1: status = '已借出' return '缩写:(%s) 全称:%s 描述:%s\n状态:%s ' % (self.sname, self.name, self.detaction, status)
首先创建一个类(class),然后对类进行描述(def)
内容包括sname(缩写)name(全称)detaction(描述 “英文是随便打的。。。”)
state(状态) 1借出 0未借出
_init_ 代表对实例属性的初始化
_str_代表直接打印其中返回(return)值,就是print(Thing)后会直接显示return中的值
class ThingManager: things = [] def __init__(self): thing1 = Thing('jsq','计算器','卡西欧') self.things.append(thing1)
定义菜单
增加物资描述(直接导入物资的话)
每个物资都应该有thing1 = Thing('s','n','d')和self.things.append(thing1)
def menu(self): print('欢迎使用物资管理系统\n') while True: print('1.查询所有物资\n2.添加物资\n3.借物资\n4.归还物资\n5.退出系统\n') choice = int(input('请输入选择对应的功能:')) if choice == 1: self.show_all_thing() elif choice == 2: self.add_thing() elif choice == 3: self.lend_thing() elif choice == 4: self.return_thing() else: print('感谢使用!') break
菜单主界面定义
def show_all_thing(self): print('物资信息如下:') for thing in self.things: #遍历表格,打印物资 print(thing) print('') def add_thing(self): #新建物资 new_sname = input('请输入物资缩写:') new_name = input('请输入全称:') new_detaction = input('请输入物资描述:') new_thing = Thing(new_sname, new_name, new_detaction) self.things.append(new_thing) print('物资录入成功!\n') def check_thing(self,sname): #查看物资状态 for thing in self.things: if thing.sname == sname: return thing else: return None def lend_thing(self): sname = input('请输入物资的缩写:') res = self.check_thing(sname) if res != None: if res.state == 1: print('已经被借走') else: print('成功') res.state = 1 else: print('物资暂时没有收录在系统里') def return_thing(self): sname = input('请输入归还物资的缩写:') res = self.check_thing(sname) if res == None: print('没有该物资') else: if res.state == 0: print('物资没有被借走') else: print('归还成功!') res.state = 0
这样一个简陋的物资管理程序就做好了,当然还可以加入信息录入人,借出人信息,再读取一个表格来储存信息。