#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. Windows系统下安装运行Kafka

    一.安装JAVA JDK 1.下载安装包 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151. ...

  2. python---自己来打通节点,链表,栈,应用

    但,, 没有调试通过. 思路是对的,立此存照. 关键就是用链表完全实现列表的功能, 替换了就应该OK的. # coding = utf-8 # 节点初始化 class Node: def __init ...

  3. [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向

    Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...

  4. javascript 相关小的知识点集合

    本文主要是列出一些javascript 相关的,不限于javascript的,容易记错或者遗忘的小知识,小技巧. 1.javascript中的false 在 JavaScript,常见的 false ...

  5. Office 2010 word无法创建工作文件 请检查临时环境变量 的解决办法

    Office 2010 word无法创建工作文件 请检查临时环境变量 的解决办法 http://hi.baidu.com/netshen/item/207fd935d452e0e9df2221c9 如 ...

  6. Python_时间复杂度概念

    时间频度:一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)(T代表次数,n代表问题规模) 时间复杂度:呈现时间频度的变化规律,记为T(n)=O(f(n)) 指数时间:一个问题求解所需的执行 ...

  7. JMeter中BeanShell断言使用一

    Jmeter Ant Task如何让beanshell断言失败的详细信息展示在report里面 首先必须给beanshell断言添加FailureMessage if(${TotalClient_SS ...

  8. 008 RestFul API 拦截器

    一:任务 1.任务 过滤器Filter 拦截器Interceptor 切片Aspect 二:过滤器 1.新建包 2.自定义过滤器程序 加了注解,这个过滤器在springboot中就起作用了 packa ...

  9. day73 中间件 以及模板引擎

    模板引擎: 基本实用{{k1}}  if for 模板中自定义函数:操作步骤 1在已经注册的App中创建一个名字叫templates文件夹 2任意创建一个py文件, 3创建名字叫register 的L ...

  10. springboot拦截器中获取配置文件值

    package com.zhx.web.interceptor; import com.zhx.util.other.IpUtil; import org.slf4j.Logger; import o ...