栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

初识python之图书管理系统

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识python之图书管理系统

#!/usr/bin/env
# coding:utf-8

import time


library = [
    {'bookname': '水浒', 'author': '施耐庵', 'price': 100, 'number': 40},
    {'bookname': '水浒', 'author': '五十', 'price': 100, 'number': 40},
    {'bookname': '西游记', 'author': '吴承恩', 'price': 100, 'number': 40},
    {'bookname': '红楼梦', 'author': '曹雪芹', 'price': 100, 'number': 0},
    {'bookname': '西游记', 'author': '二楼请', 'price': 100, 'number': 5},
    {'bookname': '天珠变', 'author': '唐三少', 'price': 100, 'number': 40},
    {'bookname': '金瓶梅', 'author': '丁惟宁', 'price': 100, 'number': 40},
    {'bookname': '坏蛋是怎样练成的', 'author': '六道', 'price': 100, 'number': 40}
]
print('---------欢迎进入图书管理系统---------------')
book_name_list = []  # 创建列表存储所有书名
for book in library:
    book_name_list.append(book['bookname'])
print(book_name_list)
Flag = True
while Flag:
    oper = input('n1. 借书  n2. 还书  n3. 查询  n4. 查询所有  n5. 退出 n请选择您需要的服务:')
    if oper == '1':
        book_list = []  # 创建列表存储所有想借的书
        print('1.借书模块')
        # 输入书名 ---》
        book_name = input('请输入您要借的书:')
        for book in library:  # 遍历所有书,如果书名和要借的书相同,并书的数量不能为零。
            if book_name == book['bookname'] and book['number'] != 0:
                book_list.append(book)  # 将满足条件的所有书都加入到列表中
                # print(book_list)
            elif book_name not in book_name_list:
                print('查无此书,请重新选择')
                break
            elif book_name == book['bookname'] and book['number'] == 0:
                print('抱歉,这本书已经借出去完了!')
                continue
        # if not book_list:
        #     print('')
        # else:
        #     print(book_list)
        if len(book_list) != 0:
            print(book_list)
        if len(book_list) > 1:  # 如果列表长度>1,说明有相同名字不同作者的书
            author_answer = input('请输入您要哪个作者写的:')

            for book in library:
                if author_answer == book['author'] and book_name == book['bookname']:
                    book['number'] -= 1
                    print('您已经成功借了' + str(author_answer) + '的这本书')
                    break
            else:
                print('抱歉,没有此作者写的这本书。')
        elif len(book_list) == 1:
            for book in library:
                if book_name == book['bookname']:
                    book['number'] -= 1
            print('您已经成功借了' + str(book_name) + '这本书')
        else:  # 说明只有一个作者写的这本书
            for book in library:
                if book_name == book['bookname']:
                    book['number'] -= 1
                    break

    elif oper == '2':
        Flag1 = True
        print('2. 还书模块')
        while Flag1:
            name = input('请输入您要还的书名:')
            author = input('请输入您要还书的作者是:')
            for book in library:
                if name == book['bookname'] and author == book['author']:
                    book['number'] += 1
                    print(str(name) + '归还成功')
                    Flag1 = False
                    break

            else:
                print('书名和作者输入有错误,请从新输入')
    elif oper == '3':
        print('3.查询模块(书名/作者)')
        book_name = input('请输入您要查询的书名:')
        for book in library:
            if book_name == book['bookname']:
                print(book)
    elif oper == '4':
        print('查询所有模块')
        for book in library:
            print(f"图书名:{book['bookname']},作者:{book['author']},价格:{book['price']},库存剩余{book['number']}")
    elif oper == '5':
        print('5.退出')
        print('系统退出中....')
        time.sleep(1)
        print('系统正常退出')
        break
    else:
        print('请重新选择')

下面这个功能其实想加上的,奈何还没怎么看的懂。
输入等待,超时退出

from threading import Timer
import os

input_msg = "啥也没输入"


def work(msg=input_msg):
    print("n你输入信息为:", msg)
    os._exit(0)  # 执行完成,退出程序


def input_with_timeout(timeout=5):
    t = Timer(timeout, work)
    t.start()
    msg = input("请输入信息:")
    input_msg = msg
    if len(input_msg) > 0:
        t.cancel()
        work(msg)


input_with_timeout()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号