#coding=utf-8

book_list=[]  #图书馆所有书

unborrowed_book=[]  #可借阅的书

borrowed_book=[]  #已经借出去的书

def add():  #添加书

global book_list

global unborrowed_book

book_name=raw_input(u"请输入要添加的书名:".encode("gbk"))

book_list.append(book_name)

unborrowed_book.append(book_name)

print u"添加书成功"

def borrow_book():  #借书

global unborrowed_book

global borrowed_book

while 1:

book_name=raw_input(u"请输入要借的书名:".encode("gbk"))

if book_name in unborrowed_book:

unborrowed_book.remove(book_name)

borrowed_book.append(book_name)

print u"借书成功"

break

else:

print u"抱歉,您要借的书不存在!"

continue_back=raw_input(u"继续借书请输入:c 返回主菜单请输入:b :".encode("gbk"))

if continue_back.lower()=="c":

continue

elif continue_back.lower()=="b":

break

else:

print u"输入数据无效"

def return_book():  #还书

global borrowed_book

global unborrowed_book

while 1:

book_name=raw_input(u"请输入要还的书名:".encode("gbk"))

if book_name in borrowed_book:

borrowed_book.remove(book_name)

unborrowed_book.append(book_name)

print u"还书成功"

break

else:

print u"您输入的书名不是此图书馆的"

continue_back=raw_input(u"继续还书请输入:c 返回主菜单请输入:b :".encode("gbk"))

if continue_back.lower()=="c":

continue

elif continue_back.lower()=="b":

break

else:

print u"输入数据无效"

menu_info='''

添加书--请输入:1

借书--请输入:2

查看可借阅的书--请输入:3

查看借出去的书--请输入:4

还书--请输入:5

查看所有书--请输入:6

退出--请输入:q

'''

import sys

print menu_info.decode("utf-8")

while True:

command=raw_input(u"请输入您要做的操作选项:".encode("gbk"))

if command=="1":

add()

elif command=="2":

borrow_book()

elif command=="3":

if unborrowed_book==[]:

print u"抱歉,没有可以借的书了!"

else:

print u"可借阅的书:",unborrowed_book

elif command=="4":

if borrowed_book==[]:

print u"没有借出去的书!"

else:

print u"借出去的书:",borrowed_book

elif command=="5":

return_book()

elif command=="6":

if book_list==[]:

print u"图书馆还没有书,赶快去添加吧!"

else:

print u"图书馆所有的书:",book_list

elif command=="q":

sys.exit()

else:

print u"输入数据无效!"

用列表实现一个简单的图书管理系统 python的更多相关文章

  1. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  2. ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查

    接上一篇:ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码 1.实现UI端的增删改查 1.1添加增删改查代码 打开SimpleTaskSystem.sln解决方案,添加一个“包含视图的MV ...

  3. php+js实现一个简单的用户管理系统

    php + js 实现一个简单的用户管理系统 说实话,我对PHP是抵触的,但是我们的WEB课程刚好学的就是这个,不得已看了看,下面是用PHP实现的一个简单的用户管理系统. 我们首先来看一下目录结构 a ...

  4. Django实现简单的图书管理系统

    目录 Django写图书管理系统 功能截图 创建Django项目 开始项目 配置文件 建立路由关系 开始写Django项目 编写核心逻辑函数 写前端页面 add_author.html add_boo ...

  5. 使用类和对象、方法、循环、List、泛型来实现简单的图书管理系统

    Book.java import java.util.List; import java.util.Scanner; public class Book { private String name; ...

  6. python (1)一个简单的爬虫: python 在windows下 创建文件夹并写入文件

    1.一个简单的爬虫:爬取豆瓣的热门电影的信息 写在前面:如何创建本来存在的文件夹并写入 t_path = "d:/py/inn" #本来不存在inn,先定义路径,然后如果不存在,则 ...

  7. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(四)图书信息的增删改查

    前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...

  8. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(五)外借/阅览图书信息的增删改查

    前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...

  9. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(六)学生借阅/预约/查询书籍事务

    前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...

随机推荐

  1. webpack学习笔记--配置output

    Output output  配置如何输出最终想要的代码. output  是一个  object ,里面包含一系列配置项,下面分别介绍它们. filename output.filename  配置 ...

  2. babelrc

    .babelrc文件 // 简单版 { "presets": ["es2015", "stage-2"], // 使用 es2015 npm ...

  3. 部署Asp.net core & Nginx,通过nginx转发

    部署Asp.net core & Nginx,通过nginx转发 CentOS 7 x64 1.vs2017 建立Asp.net core项目,并发布到目录 2.通过FTP工具,将程序copy ...

  4. 【UOJ244】【UER #7】短路

    题解: 感觉贪心水平有所提高.. 首先比较显然的事情是我们可以枚举最深进行到哪一层 我们会发现,当且仅当该层是最小值才会使用决策, 并且是从该层的左上,走到右下 另外中间步骤就是(好难描述啊)一个单调 ...

  5. luogu 1471

    题意: 蒟蒻HansBug在一本数学书里面发现了一个神奇的数列,包含N个实数.他想算算这个数列的平均数和方差. 操作1:1 x y k ,表示将第x到第y项每项加上k,k为一实数. 操作2:2 x y ...

  6. CentOS7.5安装nodejs 转

    CentOS7.5安装nodejs CentOS安装NodeJS 在CentOS下安装NodeJS有以下几种方法.使用的CentOS版本为7.2.CentOS其他版本的NodeJS安装大同小异,也可以 ...

  7. 请使用千位分隔符(逗号)表示web网页中的大数字

    方法一:使用正则表达式 语法如下: String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); 举例: String(12345678 ...

  8. BZOJ2821 作诗(Poetize) 主席树 bitset

    原文链接https://www.lydsy.com/JudgeOnline/problem.php?id=2821 题目传送门 - BZOJ2821 题意 $n$ 个数,$m$ 组询问,每次问 $[l ...

  9. IDEA创建Web项目(maven)

    第一步:创建项目 第二步:使用maven创建,并选择jdk 第三步:修改项目名称 第四步:选择自动导入依赖(很重要!!) 第五步:添加核心依赖和打包 第六步:编译一下 第七步:配置web容器(这里是用 ...

  10. Python编程基础[函数和面向对象](三)

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...