用列表实现一个简单的图书管理系统 python
#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的更多相关文章
- PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例
前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...
- ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查
接上一篇:ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码 1.实现UI端的增删改查 1.1添加增删改查代码 打开SimpleTaskSystem.sln解决方案,添加一个“包含视图的MV ...
- php+js实现一个简单的用户管理系统
php + js 实现一个简单的用户管理系统 说实话,我对PHP是抵触的,但是我们的WEB课程刚好学的就是这个,不得已看了看,下面是用PHP实现的一个简单的用户管理系统. 我们首先来看一下目录结构 a ...
- Django实现简单的图书管理系统
目录 Django写图书管理系统 功能截图 创建Django项目 开始项目 配置文件 建立路由关系 开始写Django项目 编写核心逻辑函数 写前端页面 add_author.html add_boo ...
- 使用类和对象、方法、循环、List、泛型来实现简单的图书管理系统
Book.java import java.util.List; import java.util.Scanner; public class Book { private String name; ...
- python (1)一个简单的爬虫: python 在windows下 创建文件夹并写入文件
1.一个简单的爬虫:爬取豆瓣的热门电影的信息 写在前面:如何创建本来存在的文件夹并写入 t_path = "d:/py/inn" #本来不存在inn,先定义路径,然后如果不存在,则 ...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(四)图书信息的增删改查
前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(五)外借/阅览图书信息的增删改查
前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(六)学生借阅/预约/查询书籍事务
前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...
随机推荐
- Ueditor设置默认字体、字号、行间距,添加字体种类(转)
Ueditor默认字体.字号.行间距的修改: ueditor默认字号是16号,默认字体为sans-serif,默认行间距为5px,如下图所示: 首先,修改ueditor.all.js文件中如上图红框中 ...
- Redis的过期策略和内存淘汰机制
过期策略 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时,我们自己可以指定缓存到期就失效. 如果假设你设置一个一批key只能存活1个小 ...
- 作为完美主义者(强迫症)如何将linux的eth1网卡修改为eth0网卡
1:由于你是克隆的虚拟机或者直接就是使用别人的Centos操作系统直接打开到自己本地的虚拟机,网卡可能就是eth1而不是eth0,下面简单写一下如何将eth1修改为eth0,步骤如下所示: 2:如果你 ...
- (转载)Memcached和Redis简介
转载自: Memcached和Redis简介 博主的Redis资料列表.http://www.cnblogs.com/programlearning/category/1003158.html 前言: ...
- 解决h5网页微信分享链接不能显示缩略
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js& ...
- Ncurses-窗口
前面介绍过标准屏幕 stdscr, stdscr 只是 WINDOW 结构的一个特例. 我们可以使用函数 newwin 和 delwin 来创建和销毁窗口 WINDOW *newwin(int num ...
- Fatal NI connect error 6413的解决办法 http://www.itpub.net/thread-107518-1-1.html
在进行Oracle开发的时候,碰到了这样一个稀奇古怪的问题:每次连接数据库都不成功,并且在应用程序目录下的sqlnet.log中有这样的记录: Fatal NI connect error 6413, ...
- js前端ajax提交list集合参数至后端
var orderNosList = new Array(); var rows = $("#dg_linkOrder").datagrid("getChecked&qu ...
- BZOJ4036 [HAOI2015]按位或 FWT
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ4036.html 题目传送门 - BZOJ4036 题意 刚开始你有一个数字 $0$ ,每一秒钟你会随机 ...
- 最接近的三数之和(给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数, 使得它们的和与 target 最接近。返回这三个数的和)
例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 思路:首先对数组进行排序 ...