#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. SQL查询数据并插入新表

    SQL查询数据并插入新表 --如果接受数据导入的表已经存在 insert into 表 select * from tablename --如果导入数据并生成表 select * into 表 fro ...

  2. WARN conf.FlumeConfiguration: Could not configure sink sink1 due to: No channel configured for sink: sink1 org.apache.flume.conf.ConfigurationException: No channel configured for sink: sink1

    1.错误如下所示,启动flume采集文件到hdfs案例的时候,出现如下所示的错误: 大概是说No channel configured for sink,所以应该是sink哪里配置出现了错误,百度了一 ...

  3. POJ 2914 Minimum Cut【最小割 Stoer-Wangner】

    题意:求全局最小割 不能用网络流求最小割,枚举举汇点要O(n),最短增广路最大流算法求最大流是O(n2m)复杂度,在复杂网络中O(m)=O(n2),算法总复杂度就是O(n5):就算你用其他求最大流的算 ...

  4. Windows 7下java SDK下载、安装及环境变量设置

    第一步:下载Java JDK   1 登录官网站下载正版JDK   2 点击"SDK Download"进入Java JDK下载页面 注明: Java JDK和Java JRE区别 ...

  5. uva 11992

    题意: 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y2 val 表示将(x1,y1,x2,y2)(x1<=x ...

  6. 如何扩展Orchard

    翻译自: http://msdn.microsoft.com/en-us/magazine/hh708754.aspx     动态类型系统 Content item是Orchard中的原子, 比如b ...

  7. js写三级联动

    <!DOCTYPE HTML> <html> <head> <title>联动菜单</title> <meta charset=&qu ...

  8. tp5的路由

    路由模式:普通.强制和混合 普通模式: //配置文件关闭路由,完全使用默认的PATH_INFO方式URL 'url_route_on' => false, 关闭路由后的普通模式任然可以通过操作方 ...

  9. 20165220Java实验四 Android程序设计

    一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:葛宇豪 学号:20165220 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:实验 ...

  10. 离线下载安装 NLTK 的 nltk_data 模块

    离线下载安装 NLTK 的 nltk_data 模块 转 https://blog.csdn.net/u010167269/article/details/63684137 在 Linux 上使用 N ...