用列表实现一个简单的图书管理系统 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 ...
随机推荐
- 最短路径问题---Dijkstra算法详解
侵删https://blog.csdn.net/qq_35644234/article/details/60870719 前言 Nobody can go back and start a new b ...
- .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含 ...
- redis性能监控(一): Redis Info 命令 - 获取 Redis 服务器的各种信息和统计数值
https://blog.csdn.net/wmx3ng/article/details/82772891 https://blog.csdn.net/lxpbs8851/article/detail ...
- Java集合源码学习(二)ArrayList
1.关于ArrayList ArrayList直接继承AbstractList,实现了List. RandomAccess.Cloneable.Serializable接口,为什么叫"Arr ...
- stl测试
以下测试都在学校电脑进行 我觉得应该比考试机器慢一点.. 1.map map的速度测出来和放入数值大小有很大关系 比如 #include <bits/stdc++.h> using nam ...
- Python_xml
xml: 可扩展标记语言,用来标记数据,定义数据类型,主要用来传输和存储数据(和json差不多,不同语言或程序之间进行数据交换的协议) ET(xml.etree.ElementTree)中的几个类: ...
- Python知识回顾 —— 面向对象
博客转载自 http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/linhaifeng/articles/62040 ...
- js将时间戳转为时间格式
时间戳转时间格式 //分钟 let timeM= parseInt(msg/1000/60%60); if(timeM<10){ timeM="0"+timeM; } //秒 ...
- 在mybatis中调用存储过程的时候,不能加工语句
select count(0) from ({call pkg_business.P_ZZS_LYFPHJSKJQK ('2018-04')}) 这是错误的.
- web服务-1、http协议的三次握手四次挥手
知识点:http协议:它是基于tcp协议的,浏览器访问服务器,服务器把资源回给浏览器,这个过程都是遵循http协议的,否则无法完成,http早些年是1.0版本,现在基本上都是1.1版本了,俩个版本的区 ...