用列表实现一个简单的图书管理系统 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"输入数据无效!"
最新文章
- qt 自动产生 Guid 方法
- TStringList中AddObject使用
- android Intent的startActivityForResult()方法
- Spring MVC 3.2 406 Not Acceptable
- xmind教程
- ZOJ Monthly, March 2013
- 【剑指offer】第一个字符只出现一次
- 操作系统-实验一、DOS使用命令实验
- Android底部导航栏
- rails应用ajax之三:进一步完善ajax动画特效果
- Paper | 量化CV任务的关联性,寻找最佳迁移策略(Taskonomy)
- Effective Java 第三版——70. 对可恢复条件使用检查异常,对编程错误使用运行时异常
- python学习之老男孩python全栈第九期_day005作业
- 【代码笔记】iOS-将字符串中特定后的字变成红色
- kubernetes实战(十四):k8s持久化部署gitlab集成openLDAP登录
- ACL登陆认证
- Python全栈开发之16、jquery
- 使用Bus.js进行兄弟(非父子)组件通信
- laravel之注册中间件
- OCP 052最新考试题库和答案收集-34
热门文章
- PAT Basic 1065 单身狗
- James Munkres Topology: Sec 37 Exer 1
- 【Android】Android取消EditText自动获取焦点
- Python_函数_参数
- Flink--DateSet的Transformation简单操作
- 040 Http与RPC
- 20165235 祁瑛 2018-4 《Java程序设计》第九周学习总结
- Python replace() 和 re.sub() 字符串字符替换
- Python json 读取 json 文件并转为 dict
- Spring 实现两种设计模式:工厂模式和单态模式(单例模式)