用列表实现一个简单的图书管理系统 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 ...
随机推荐
- 关于k8s安装脚本方面的草稿
周六作的, 慢慢完善. #! /usr/bin/env bash set -e set -u set -x #让此脚本可以重复执行,所以加了一些判断 #使用系统的PATH环境 export PATH= ...
- 一脸懵逼学习HBase的搭建(注意HBase的版本)
1:Hdfs分布式文件系统存的文件,文件存储. 2:Hbase是存储的数据,海量数据存储,作用是缓存的数据,将缓存的数据满后写入到Hdfs中. 3:hbase集群中的角色: ().一个或者多个主节点, ...
- Google搜索
https://www.google.com/intl/br/insidesearch/tipstricks/all.html 如何用好谷歌等搜索引擎?
- OAuth2:隐式授权(Implicit Grant)类型的开放授权
适用范围 仅需临时访问的场景 用户会定期在API提供者那里进行登录 OAuth客户端运行在浏览器中(Javascript.Flash等) 浏览器绝对可信,因为该类型可能会将访问令牌泄露给恶意用户或应用 ...
- 移动端iscroll实现日期选择
哎,说多了都是泪: 引入相关JS文件 <script type="text/javascript" src="js/jquery-1.9.1.min.js" ...
- 移动端line-height问题
ios5 上:82px;下:84px; ios6 上:82px;下:84px; ios6 plus 上:124px;下:126px; mi4w 上:118px;下:130px; vivo 上:5 ...
- 实体转xml 并以string输出
<?xml version="1.0" encoding="utf-8"?><Root> <Header> <Mess ...
- nginx安装,运行(ubuntu)
文本只涉及单节点nginx 安装gcc g++依赖库 apt-get install build-essential apt-get install libtool 安装pcre依赖库 apt-get ...
- Spring Boot Starters 列表
Spring Boot application starters 名称 描述 Pom spring-boot-starter 核心starter,包括自动配置支持,日志和YAML Pom spring ...
- POJ 3662 Telephone Lines【二分答案+最短路】||【双端队列BFS】
<题目链接> 题目大意: 在一个节点标号为1~n的无向图中,求出一条1~n的路径,使得路径上的第K+1条边的边权最小. 解题分析:直接考虑情况比较多,所以我们采用二分答案,先二分枚举第K+ ...