IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 9.29 python 物资管理实例1 -> 正文阅读

[Python知识库]9.29 python 物资管理实例1

?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

这样一个简陋的物资管理程序就做好了,当然还可以加入信息录入人,借出人信息,再读取一个表格来储存信息。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:53:45  更:2021-09-30 11:55:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:48:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码