python大作业-图书管理系统
#缺少循环执行和错误处理
#add()函数 添加了循环执行
#错误处理:regist()函数 登录和退出选择的时候添加了错误处理
import sys
import importlib
importlib.reload(sys)
Book=[['高数','高斯',30],['龙王传说','唐家三少',30],['霸道总裁爱上我','熏紫樱桃',30]]#列表1:书籍数据系统
User=[['admin',1],['manager',1]] #列表2:用户数据系统
def regist():#监测注册用户名,然后注册
UserName1=input('请输入你的注册用户名:')
for i in User:
if i[0]==UserName1:
print('该用户名已被注册,请重新输入!')
else:
Pwd1=int(input('恭喜你,用户名可以使用,请输入你的密码:'))
User.append([UserName1,Pwd1])
print("恭喜你注册成功,您的用户名为:",UserName1,"密码为",Pwd1)
try:#这里加错误处理了哦 j=int(input("请选择 1.登录 2.退出"))
if j==1:
login()
if j==2:
SystemExit()
except ValueError as e:
print('输入的不正确哦,只能输入整数!')
finally:
begin()
def login():#先输入用户名然后输入密码,循环列表,找到登录成功没有登录失败
UserName2=input('请输入你的登录用户名:')
for i in User:
if i[0]==UserName2:
pwds=i[1]
pwd2=int(input('请输入你的登录密码:'))
if pwd2==pwds:
print('亲爱的%s ,很高兴见到你,今天又是元气满满充满希望的一天!'%UserName2)
opt() def opt():#登录后选择操作项
s=input('请选择你要执行的操作,1=增 2=删 3=改 4=查 5=退出')
if s==1:
add()
elif s==2:
delete()
elif s==3:
edit()
elif s==4:
query()
else:
SystemExit() def add():#输入书名、作者、价格,用append()方法将参数添加到列表结尾,添加成功,失败错误处理
j=1
while (j!=2):#循环执行添加书本 Bookname=input('请输入要添加的书本名:')
author=input('请输入要添加书本的作者:')
price=int(input('请输入要添加书本的价格:'))
AddBook=[Bookname,author,price]
Book.append(AddBook)
print('添加书本成功了哦!')
j=int(input('小宝贝,还要继续添加添加书本吗? 1.继续 2.退出'))
if j==2:
opt() def delete():#输入书名,选择是否删除
Bookname=input('请输入要删除的书本名:')
j=-1
for i in Book:
j+=1
if i[0]==Bookname:
print("已找到书本:%s"%Bookname)
break
i=int(input('真的要删除这本书吗? 1:确定 2:取消'))
if i==1:
del Book[j]
print('ok') def edit():#只能修改书本的价格,先输入书名然后查询,查到了输入要修改的价格,没有查到循环继续输入或退出
Bookname=input('请输入要编辑书本名称:')
j=-1
for i in Book:
j+=1
if i[0]==Bookname:
print("已找到书本:%s"%Bookname)
break
i=int(input('真的要修改这本书吗? 1:确定 2:取消'))
if i==1:
price=int(input('请输入修改后的价格:'))
Book[j][2]=price
print('ok') def query():#查询,输入所有的书本信息
for i in Book:
print("序号:%s 书本信息:%s"%(Book.index(i)+1,i)) def begin():
n=int(input('欢迎来到图书管理系统,1=注册 2=登录 3=关闭'))#3关闭 开始
print('\n')
if n==1:
regist()
if n==2:
login()
if n==3:
SystemExit()
#begin()
add()
python大作业-图书管理系统的更多相关文章
- #006 C语言大作业学生管理系统第三天
还差最后两部分 读取文件 恢复删除的学生信息 先学会处理文件的 知识点,再继续跟着视频做这个作业. 应该明天周六能把视频里手把手教的学生管理系统敲完 第二周尽量自己能完成C语言课本最后面那道学生管理系 ...
- #004 C语言大作业学生管理系统试着做
链表不会用 文件不会使 在这种情况下就边写边做 希望这个月能做完这个作业 #include<stdio.h> #include<stdlib.h> #include<st ...
- 在Web大作业——红十字会管理系统里出现的一个Error
工程描述:根据用户在前端网页的操作对后台数据库进行查询或更新. 错误描述:当对网页进行多次操作后,网页会报错:“数据库超过最大连接数”. 错误分析:每次打开某一网页,都会运行一段JAVA代码连接数据库 ...
- 大一上C语言期末大作业-成绩管理系统
都过了半年的作业了,觉得做过去得留下点什么,所以整理了代码发一下博客. 声明:程序在DevC++下用c文件模式可以正常编译使用.(控制台程序) 程序结构:
- c++大作业--学籍管理系统--
1.题目描写叙述 学籍管理系统: 依据信息管理系统的业务流程.要求以及所要实现的目标,完毕下面功能: (1)建立学生档案的管理和维护.实现计算机自己主动化管理体制. (2)建立学生成绩管理机制,在计算 ...
- #007 C语言大作业学生管理系统第四天
第四天还差恢复已删除学生功能 对于我来说,已经开始很复杂了. 小细节太重要了,边写边出错 1 #include<stdio.h> #include<stdlib.h> #inc ...
- python大作业二
一.存入csv 上次爬取到了所需要的内容,但是没有存入到csv中,这次存入了csv文件中,代码如下: import requests from bs4 import BeautifulSoup imp ...
- C++大作业——教职工管理系统
教职工信息管理系统 1.问题描述: 设计一个学校职工管理系统,要求实现如下功能:建立职工信息数据, 包括职工编号.姓名. 性别.工资.出生时间.岗位.参加工作时间和年 龄(必须计算得到),初始模拟数据 ...
- python大作业
爬取西刺代理 生成请求头 #encoding = utf-8; __all__ = ("Header"); import random; class Header(object): ...
随机推荐
- java Web JSTL介绍及基本应用
由于实际开发中我们一般不能在jsp页面上写java代码,而el表达式也做不了判断 循环之类的复杂操作,为了弥补这些缺点,所以就有了JSTL. 简介 JavaServer Pages Standard ...
- 【CF#338D】GCD Table
[题目描述] 有一张N,M<=10^12的表格,i行j列的元素是gcd(i,j) 读入一个长度不超过10^4,元素不超过10^12的序列a[1..k],问是否在某一行中出现过 [题解] 要保证g ...
- 551. Student Attendance Record I 从字符串判断学生考勤
[抄题]: You are given a string representing an attendance record for a student. The record only contai ...
- Hibernate和Mybatis区别 详细 有用
1.开发上手难度 hibernate的真正掌握(封装的功能和特性非常多)要比Mybatis来得难. 在真正产品级应用上要用Hibernate,不仅对开发人员的要求高,hibernate往往还不适合(多 ...
- 28. LAST() 函数
LAST() 函数 LAST() 函数返回指定的字段中最后一个记录的值. 提示:可使用 ORDER BY 语句对记录进行排序. SQL LAST() 语法 SELECT LAST(column_nam ...
- 洛谷P2569 [SCOI2010]股票交易
P2569 [SCOI2010]股票交易 题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股 ...
- LightOJ 1065 Island of Survival (概率DP?)
题意:有 t 只老虎,d只鹿,还有一个人,每天都要有两个生物碰面,1.老虎和老虎碰面,两只老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人和鹿碰面,人可以选择杀或者不杀该鹿4. ...
- POJ1125 Stockbroker Grapevine(spfa枚举)
Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a me ...
- DELPHI XE5 UP2 运行IOS 遇到 Wrapper init failed: (null)问题的解决办法
一.问题表现: 在MAC OSX(10.9.2)上安装了比较新的XCODE5.1 和COMMAND LINE TOOLS 在DELPHI XE5 UP2上放了一个按钮,输出到MAC OSX上,出现: ...
- ElasticSearch 笔记(一)
一.Elasticsearch 印象 分布式.全文检索.数据分析. 二.为什么不用传统关系型数据库,如 MySQL,做搜索 举个反例.假设有以下数据库表 t_game: id name 1 唐僧取 ...