| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
两年前学了两个星期的python,到现在重新拾起来,没想到大多数语法还记得! 
 
四天前,偶然在网络上看到一个作业,说是要自制一个图书管理器,可以实现添加、删除、查找,还有借书和还书的功能。于是我就开干了,本来是说搞一个图形界面出来,但是对于我来说还是难了点,就想先从控制台应用开始。 
 
这个小程序对中文输入法有一点点小冲突,但是不影响对中文书名操作的相关功能,如果有大佬可以帮我看看,如何解决这个烦人的问题,小的感激不尽。 
 
这个程序用到了 keyboard 和 time  模块,keyboard请用在Windows命令行输入以下代码下载安装: 
 
 
 
运行后的界面
 
  
 
程序在.py 文件的目录下,自动生成一个Bookinformation.txt 的文件,里面存储着书籍的相关数据。 
 
文件已上传Github,链接:https://github.com/YouCam-X/Code 
 
以下是源代码: 
 
- import keyboard
 
 - import time
 
  
 
- bookinformation = []
 
 - bookinformation_number = 0
 
  
- class Menu:
 
 -     #用于创建菜单界面
 
 -     def showmenu(self):
 
 -         while True:
 
 -             print('''欢迎来到图书管理系统,请按下对应的数字键选择功能:
 
 -                                  添加图书 —— 1
 
 -                                  查询图书 —— 2
 
 -                                  借阅\归还图书 —— 3
 
 -                                  删除图书 —— 4
 
 -                                  修改书籍信息 —— 5
 
 -                                  显示所有书籍 —— 6
 
 -                                  退出系统 —— 7''')
 
 -         
 
 -             while True:
 
 -                 if keyboard.is_pressed('1'):
 
 -                     buffer = input('请忽略本条信息,按回车键继续')
 
 -                     # buffer 的作用是为了解决按下 数字键 1 后会将1这个字符代入到后面的input()当中的冲突
 
 -                     Bookmanager.addbooks(self)
 
 -                     break
 
  
-                 elif keyboard.is_pressed('2'):
 
 -                     buffer = input('请忽略本条信息,按回车键继续')
 
 -                     Bookmanager.searchbooks(self)
 
 -                     break
 
 -                 
 
 -                 elif keyboard.is_pressed('3'):
 
 -                     buffer = input('请忽略本条信息,按回车键继续')
 
 -                     Bookmanager.borrow_return_books(self)
 
 -                     break
 
  
-                 elif keyboard.is_pressed('4'):
 
 -                     buffer = input('请忽略本条信息,按回车键继续')
 
 -                     Bookmanager.deletebooks(self)
 
 -                     break
 
  
-                 elif keyboard.is_pressed('5'):
 
 -                     buffer = input('请忽略本条信息,按回车键继续')
 
 -                     Bookmanager.editbooks(self)
 
 -                     break
 
  
-                 elif keyboard.is_pressed('6'):
 
 -                     buffer = input('请忽略本条信息,按回车键继续')
 
 -                     Bookmanager.showallbooks(self)
 
 -                     break
 
  
-                 elif keyboard.is_pressed('7'):
 
 -                     return
 
  
-                 else:
 
 -                     continue
 
  
- class Bookmanager:
 
 -     
 
 -     def save(self):
 
 -         file = open('Bookinformation.txt','a+') 
 
 -         #因为要添加图书,所以用 a+ 方式打开, 也可以用 r+,但是指针的位置不一样,可能会影响后面的代码
 
 -         # w+ 的话就直接覆盖了,所以不行
 
  
-         for book in bookinformation:
 
 -             for i in book:
 
 -                 file.write(i)
 
 -                 file.write('\t')
 
 -             file.write('\n')
 
 -         file.close()
 
  
-     #一开始的思路是,一次连续输入所有信息,用tab键分隔,但是觉得麻烦
 
 -     #def addbooks(self):
 
 -     #    global bookinformation_number 
 
 -     #    global bookinformation
 
  
-     #    while true:
 
  
-     #            information = input('请依次输入书的名字、作者、类型、添加日期,以及备注(请用tab分隔不同的信息)\n')
 
 -     #            information += '\t'
 
 -     #            information_mediator = []
 
 -     #            one_information = ''
 
 -     #            information_array = []
 
 -     #            whether_to_execute = 0
 
  
-     #            for i in information:
 
 -     #                if i == '\t':
 
 -     #                    whether_to_execute += 1
 
  
-     #            if whether_to_execute >= 5:
 
 -     #                for character in information:
 
  
-     #                    if character.encode() == '\t'.encode():
 
 -     #                        for character in information_mediator:
 
 -     #                            one_information += character
 
 -     #                        if one_information != '':
 
 -     #                            information_array.append(one_information)
 
 -     #                        one_information = ''
 
 -     #                        information_mediator = []
 
  
-     #                    else:
 
 -     #                        information_mediator.append(character)
 
  
-     #                name = information_array[0]
 
 -     #                author = information_array[1]
 
 -     #                genre = information_array[2]
 
 -     #                add_date = information_array[3]
 
 -     #                marker = information_array[4]
 
  
-     #                del information_array[5:]
 
  
-     #                bookinformation.append(information_array)
 
 -     #                bookinformation_number += 1
 
  
-     #                print('''成功添加图书
 
 -     #                            新书名字是 %s
 
 -     #                            作者是 %s
 
 -     #                            类型是 %s
 
 -     #                            添加日期是 %s
 
 -     #                            备注是 %s'''%(name,author,genre,add_date,marker))
 
  
-     #                print('如添加有误,请按f键;正确请按j键') 
 
 -                     
 
 -     #                while true:
 
 -     #                    if keyboard.is_pressed('f'):
 
 -     #                        del bookinformation[bookinformation_number-1]
 
 -     #                        print('已删除此信息,开始重新添加')
 
 -     #                        bookinformation_number -= 1
 
 -     #                        break
 
  
-     #                    elif keyboard.is_pressed('j'):
 
 -     #                        break
 
  
-     #                    else:
 
 -     #                        continue
 
  
-     #                time.sleep(0.2)
 
  
-     #                print('继续添加图书信息请按f键,退出请按j键')         
 
 -     #                while true:
 
 -     #                    if keyboard.is_pressed('f'):
 
 -     #                        break
 
  
-     #                    elif keyboard.is_pressed('j'):
 
 -     #                        bookmanager.save(self)
 
 -     #                        bookinformation = []
 
 -     #                        bookinformation_number = 0
 
 -     #                        return
 
  
-     #                    else:
 
 -     #                        continue
 
  
-     #            else:   
 
 -     #                print('您的输入不完全或者有误,请重新输入')
 
 -     
 
 -     #            buffer = input('请忽略本行内容,继续敲击回车键')
 
  
 
-     def addbooks(self):
 
  
-         global bookinformation
 
 -         global bookinformation_number
 
  
-         bookinformation_number = 0
 
 -         bookinformation = []
 
  
-         while True:
 
 -             bookinformation_mediator = []
 
  
-             name = input('请输入书名:')
 
 -             author = input('请输入作者:')
 
 -             genre = input('请输入所属类型:')
 
 -             marker = input('请输入备注:')
 
 -             date = time.strftime("%Y-%m-%d",time.localtime())
 
 -             #自动获取当天的日期,并添加至列表内
 
 -             availability = '可借阅'
 
 -             #默认的可用性是 可借阅
 
  
-             bookinformation_mediator.append(name)
 
 -             bookinformation_mediator.append(author)
 
 -             bookinformation_mediator.append(genre)
 
 -             bookinformation_mediator.append(date)
 
 -             bookinformation_mediator.append(marker)
 
 -             bookinformation_mediator.append(availability)
 
 -             bookinformation.append(bookinformation_mediator)
 
 -             bookinformation_number += 1
 
 -             #bookinformation_number 在后面的添加有误后,删除的时候用到
 
  
-             print('''添加成功!
 
 -                      书名是:%s
 
 -                      作者是:%s
 
 -                      题材是:%s
 
 -                      备注是:%s
 
 -                      添加日期是:%s'''%(name,author,genre,marker,date))
 
  
 
-             keyboard.wait('enter',True,True)
 
 -             #这里的wait()是为了抵消上一个input()输入完成后按的回车键,不然会连着执行下面的 is_pressed('enter')的命令
 
  
-             print('如添加的信息有误,请按Esc键,确认添加请按Enter键')
 
  
 
-             #用 While True 死循环监测键盘输入
 
 -             while True:
 
 -                 if keyboard.is_pressed('esc'):
 
 -                     del bookinformation[bookinformation_number-1]
 
 -                     print('此书信息已删除,请重新添加')
 
 -                     bookinformation_number -= 1
 
 -                     #删除之后要记得值减一
 
 -                     keyboard.wait('esc',True,True)
 
 -                     #wait()同理
 
 -                     break
 
 -                 
 
 -                 elif keyboard.is_pressed('enter'):
 
 -                     buffer = input('')
 
 -                     keyboard.wait('enter',True,True)
 
 -                     break
 
  
-                 else:
 
 -                     continue
 
  
 
-             print('继续添加请按Enter键,退出请按Esc键')
 
  
 
-             while True:
 
 -                 if keyboard.is_pressed('enter'):
 
 -                     buffer = input('')
 
 -                     break
 
  
-                 elif keyboard.is_pressed('esc'):
 
 -                     Bookmanager.save(self)
 
 -                     bookinformation = []
 
 -                     bookinformation_number = 0
 
 -                     #退出前面要记得初始化两个变量
 
 -                     return
 
  
-                 else:
 
 -                     continue
 
  
 
-     def searchbooks(self):
 
 -         global bookinformation
 
  
-         while True:
 
 -             #初始化变量以防上次循环的变量也被拉进来
 
 -             bookinformation = []
 
 -             search_number = 0
 
  
-             information_mediator = []
 
 -             one_information_item = ''
 
 -             file = open('Bookinformation.txt', 'r')
 
 -             #因为只是搜素书籍信息,所以不需要改动txt文件,用 r 方式打开就好
 
 -             book_list = file.readlines()
 
 -             # readlines()函数可以一行一行地读,并返回列表
 
  
-             for i in book_list:
 
 -                 for each_character in i:
 
 -                     if each_character == '\t' or each_character == '\n':
 
 -                         #保存的时候是用了Tab键来分隔不同的信息,用换行符来区分不同的书籍
 
 -                         if one_information_item != '' and one_information_item != '\n':
 
 -                             #防止将空字符串添加进列表
 
 -                             information_mediator.append(one_information_item)
 
 -                             one_information_item = ''
 
 -                             #添加完后需要初始化变量
 
 -                     else:
 
 -                         one_information_item += each_character
 
  
-                 bookinformation.append(information_mediator)
 
 -                 information_mediator = []
 
  
 
-             keywords = input('请输入需要查找的书名或者关键字\n')
 
  
-             #这里搜索功能只能搜索到完全一样的关键字,编程能力不行,真希望可以像百度、谷歌那样
 
  
-             for book in bookinformation:
 
 -                 for i in book:
 
 -                     if i == keywords:
 
 -                         search_number += 1
 
  
-                         print('''第%s本符合结果的书:
 
 -                                  书名:%s
 
 -                                  作者:%s
 
 -                                  类型:%s
 
 -                                  添加日期:%s
 
 -                                  备注:%s
 
 -                                  可用性:%s'''%(str(search_number),book[0],book[1],book[2],book[3],book[4],book[5]))
 
 -                         break
 
 -             
 
 -             if search_number == 0:
 
 -                 print("找遍了也找不到这本书")
 
  
-             print('是否继续查找,继续请按Enter键,退出查找请按Esc键')
 
  
-             keyboard.wait('enter',True,True)
 
  
-             while True:
 
 -                 if keyboard.is_pressed('enter'):
 
 -                     break
 
  
-                 elif keyboard.is_pressed('esc'):
 
 -                     bookinformation = []
 
 -                     return
 
 -                     
 
 -                 else:
 
 -                     continue
 
 -             
 
 -             buffer = input('')
 
 -             keyboard.wait('enter',True,True)
 
  
-     def editbooks(self):
 
  
-         global bookinformation
 
  
-         while True:
 
 -             locate_number_list = []
 
 -             search_number = 0
 
 -             bookinformation = Bookmanager.get_bookinformation(self)
 
 -             
 
 -             keywords = input('请输入需要修改的书的关键字')
 
 -             keyboard.wait('enter',True,True)
 
  
-             for book in bookinformation:
 
 -                 
 
 -                 for i in book:
 
  
-                     if i == keywords:
 
  
-                         search_number += 1
 
 -                         locate_number_list.append(book[6])
 
  
-                         print('''第%s本符合结果的书:
 
 -                                  书名:%s
 
 -                                  作者:%s
 
 -                                  类型:%s
 
 -                                  添加日期:%s
 
 -                                  备注:%s
 
 -                                  可用性:%s'''%(str(search_number),book[0],book[1],book[2],book[3],book[4],book[5]))
 
 -                     
 
 -             if search_number == 0:
 
  
-                 print('没有找到这本书,请按Enter重新搜索。或者按Esc键退出')
 
  
-                 while True:
 
  
-                     if keyboard.is_pressed('esc'):
 
 -                         keyboard.wait('esc',True,True)
 
 -                         return
 
 -                     
 
 -                     elif keyboard.is_pressed('enter'):
 
 -                         keyboard.wait('enter',True,True)
 
 -                         break
 
  
-                     else:
 
 -                         continue
 
  
-                 continue
 
  
-             book_number = Bookmanager.if_integer_is_valid(self)
 
  
-             try:
 
 -                 locate_book_number = locate_number_list[int(book_number)-1]
 
 -                 book_mediator = bookinformation[int(locate_book_number)]
 
  
-                 availability = book_mediator[5]
 
  
-                 print('''确定要修改这本书吗?确定请按Enter键,取消请按Esc键。
 
 -                          书名:%s
 
 -                          作者:%s
 
 -                          类型:%s
 
 -                          添加日期:%s
 
 -                          备注:%s
 
 -                          可用性:%s'''%(book_mediator[0],book_mediator[1],book_mediator[2],book_mediator[3],book_mediator[4],book_mediator[5]))
 
 -                  
 
  
-                 while True:
 
  
-                     if keyboard.is_pressed('enter'):
 
  
-                         print('请重新输入信息:')
 
  
-                         buffer = input('')
 
  
-                         name = input('请输入书名:')
 
 -                         author = input('请输入作者:')
 
 -                         genre = input('请输入所属类型:')
 
 -                         marker = input('请输入备注:')
 
 -                         date = time.strftime("%Y-%m-%d",time.localtime())
 
 -                         
 
 -                         keyboard.wait('enter',True,True)
 
  
-                         book_mediator = []
 
 -                         book_mediator.append(name)
 
 -                         book_mediator.append(author)
 
 -                         book_mediator.append(genre)
 
 -                         book_mediator.append(date)
 
 -                         book_mediator.append(marker)
 
 -                         book_mediator.append(availability)
 
 -                         book_mediator.append(str(locate_book_number))
 
  
-                         del bookinformation[int(locate_book_number)]
 
 -                         bookinformation.insert(int(locate_book_number),book_mediator)
 
  
-                         print('''修改完毕:
 
 -                                  新书名:%s
 
 -                                  新作者:%s
 
 -                                  新类型:%s
 
 -                                  新添加/修改日期:%s
 
 -                                  新备注:%s
 
 -                                  可用性:%s'''%(bookinformation[int(locate_book_number)][0],bookinformation[int(locate_book_number)][1],bookinformation[int(locate_book_number)][2],bookinformation[int(locate_book_number)][3],bookinformation[int(locate_book_number)][4],bookinformation[int(locate_book_number)][5]))
 
  
-                         #修改完毕后就立即保存文件,可以避免一些Bugs
 
 -                         file = open('Bookinformation.txt','w+')
 
  
-                         for book in bookinformation:
 
 -                             for i in book[:6]:
 
 -                                 file.write(i)
 
 -                                 file.write('\t')
 
 -                             file.write('\n')
 
  
-                         file.close()
 
  
-                         boobookinformation = []
 
  
-                         break
 
  
-                     elif keyboard.is_pressed('esc'):
 
 -                         keyboard.wait('esc',True,True)
 
 -                         bookinformation = []
 
 -                         break
 
  
-                     else:
 
 -                         continue
 
  
-             except:
 
 -                 print('出错了!请输入正确的数字')
 
 -             
 
 -             print('继续修改请按Enter键,返回到主菜单请按Esc键')
 
  
-             while True:
 
  
-                 if keyboard.is_pressed('enter'):
 
 -                     buffer = input('')
 
 -                     break
 
  
-                 elif keyboard.is_pressed('esc'):
 
 -                     return
 
  
-                 else:
 
 -                     continue
 
  
-     def deletebooks(self):
 
 -         global bookinformation
 
  
-         while True:
 
 -             locate_number_list = []
 
 -             search_number = 0
 
 -             bookinformation = Bookmanager.get_bookinformation(self)
 
 -             keywords = input('请输入需要删除的书的关键字')
 
 -             keyboard.wait('enter',True,True)
 
  
-             for book in bookinformation:
 
 -                 
 
 -                 for i in book:
 
  
-                     if i == keywords:
 
  
-                         search_number += 1
 
 -                         locate_number_list.append(book[6])
 
  
-                         print('''第%s本符合结果的书:
 
 -                                  书名:%s
 
 -                                  作者:%s
 
 -                                  类型:%s
 
 -                                  添加日期:%s
 
 -                                  备注:%s
 
 -                                  可用性:%s'''%(str(search_number),book[0],book[1],book[2],book[3],book[4],book[5]))
 
 -                     
 
 -             if search_number == 0:
 
  
-                 print('没有找到这本书,请按Enter重新搜索。或者按Esc键退出')
 
  
-                 while True:
 
  
-                     if keyboard.is_pressed('esc'):
 
 -                         keyboard.wait('esc',True,True)
 
 -                         return
 
 -                     
 
 -                     elif keyboard.is_pressed('enter'):
 
 -                         keyboard.wait('enter',True,True)
 
 -                         break
 
  
-                     else:
 
 -                         continue
 
  
-                 continue
 
  
-             book_number = Bookmanager.if_integer_is_valid(self)
 
  
-             try:
 
  
-                 book = bookinformation[int(locate_number_list[int(book_number)-1])]
 
  
-                 print('''确定要删除这本书吗?确定请按Enter键,取消请按Esc键
 
 -                           书名:%s
 
 -                           作者:%s
 
 -                           类型:%s
 
 -                           添加日期:%s
 
 -                           备注:%s
 
 -                           可用性:%s'''%(book[0],book[1],book[2],book[3],book[4],book[5]))
 
 -                
 
 -                 while True:
 
  
-                     if keyboard.is_pressed('enter'):
 
 -                         del bookinformation[int(locate_number_list[int(book_number)-1])]
 
 -                         file = open('Bookinformation.txt','w+')
 
  
-                         for book in bookinformation:
 
 -                             for i in book[:6]:
 
 -                                 file.write(i)
 
 -                                 file.write('\t')
 
 -                             file.write('\n')
 
 -                         
 
 -                         file.close()
 
  
-                         #删除后就立即保存
 
  
-                         print('已成功删除!')
 
 -                         keyboard.wait('enter',True,True)
 
 -                         break
 
  
-                     elif keyboard.is_pressed('esc'):
 
 -                         keyboard.wait('esc',True,True)
 
 -                         break
 
  
-                     else:
 
 -                         continue
 
  
-             except:
 
 -                 print('请输入正确的数字!')
 
  
-             print('继续删除请按Enter键,返回主菜单请按Esc键')
 
  
 
-             while True:
 
  
-                 if keyboard.is_pressed('enter'):
 
 -                     keyboard.wait('enter',True,True)
 
 -                     break
 
  
-                 elif keyboard.is_pressed('esc'):
 
 -                     return
 
  
-                 else:
 
 -                     continue
 
  
-     def borrow_return_books(self):
 
 -         global bookinformation
 
  
-         while True:
 
  
-             #循环运行每一次都要在开头初始化变量,以防对本次运行造成影响
 
  
-             bookinformation = Bookmanager.get_bookinformation(self)
 
 -             search_number = 0
 
 -             locate_number_list = []
 
  
-             keywords = input('请输入需要借阅/归还的书的关键字')
 
 -             keyboard.wait('enter',True,True)
 
  
-             for book in bookinformation:
 
 -                 for i in book:
 
  
-                     if i == keywords:
 
 -                         search_number += 1
 
 -                         locate_number_list.append(book[6])
 
  
-                         print('''符合条件的第%s本书:
 
 -                                  书名:%s
 
 -                                  作者:%s
 
 -                                  类型:%s
 
 -                                  添加日期:%s
 
 -                                  备注:%s
 
 -                                  可用性:%s'''%(str(search_number),book[0],book[1],book[2],book[3],book[4],book[5]))
 
 -                         break
 
  
-             if search_number == 0:
 
 -                         
 
 -                 print('找遍了也没找到!请按Enter键重新搜素,或者按Esc返回主菜单')
 
  
-                 while True:
 
  
-                     if keyboard.is_pressed('enter'):
 
 -                         keyboard.wait('enter',True,True)
 
 -                         break
 
 -                     
 
 -                     elif keyboard.is_pressed('esc'):
 
 -                         return
 
  
-                     else:
 
 -                         continue
 
  
-             else:
 
 -                 book_number = Bookmanager.if_integer_is_valid(self)
 
  
-                 try:
 
 -                     book = bookinformation[int(locate_number_list[int(book_number)-1])]
 
  
-                     print('借阅此书请按Enter键,归还请按Esc键')
 
  
-                     while True:
 
  
-                         if keyboard.is_pressed('enter'):
 
 -                             keyboard.wait('enter',True,True)
 
  
-                             #用条件句解决借阅归还时可能会出现的bugs
 
  
-                             if book[5] == '可借阅':
 
 -                                 print('借阅成功!')
 
 -                                 del bookinformation[int(locate_number_list[int(book_number)-1])][5]
 
 -                                 bookinformation[int(locate_number_list[int(book_number)-1])].insert(5,'已借出')
 
  
-                                 #同样借出去后需要修改可用性为已借出,并写在文件里
 
  
-                                 file = open('Bookinformation.txt','w')
 
  
-                                 for book in bookinformation:
 
 -                                     for i in book[:6]:
 
  
-                                         file.write(i)
 
 -                                         file.write('\t')
 
 -                                     file.write('\n')
 
  
-                                 file.close()
 
 -                                 break
 
  
-                             else:
 
 -                                 print('此书已被借走,无法借阅')
 
 -                                 break
 
  
-                         elif keyboard.is_pressed('esc'):
 
 -                             keyboard.wait('esc',True,True)
 
  
-                             if book[5] == '已借出':
 
 -                                 print('归还成功!')
 
 -                                 del bookinformation[int(locate_number_list[int(book_number)-1])][5]
 
 -                                 bookinformation[int(locate_number_list[int(book_number)-1])].insert(5,'可借阅')
 
  
-                                 file = open('Bookinformation.txt','w')
 
  
-                                 for book in bookinformation:
 
 -                                     for i in book[:6]:
 
  
-                                         file.write(i)
 
 -                                         file.write('\t')
 
 -                                     file.write('\n')
 
  
-                                 file.close()
 
 -                                 break
 
  
-                             else:
 
 -                                 print('此书还在库中,无需归还')
 
 -                                 break
 
  
-                         else:
 
 -                             continue
 
  
-                 except:
 
 -                     print('请输入正确的数字!')
 
  
-                 print('重新搜素请按Enter键,返回主菜单请按Esc键')
 
  
-                 while True:
 
  
-                     if keyboard.is_pressed('enter'):
 
 -                         keyboard.wait('enter',True,True)
 
 -                         break
 
  
-                     elif keyboard.is_pressed('esc'):
 
 -                         return
 
  
-                     else:
 
 -                         continue
 
  
-     def showallbooks(self):
 
 -         global bookinformation
 
  
-         bookinformation = []
 
 -         search_number = 0
 
 -         bookinformation = Bookmanager.get_bookinformation(self)
 
  
-         print('\n以下是在数据库里的全部书籍:\n')
 
  
-         for book in bookinformation:
 
  
-             search_number += 1
 
  
-             print('''第%s本书:
 
 -                         书名:%s
 
 -                         作者:%s
 
 -                         类型:%s
 
 -                         添加日期:%s
 
 -                         备注:%s
 
 -                         可用性:%s \n'''%(str(search_number),book[0],book[1],book[2],book[3],book[4],book[5]))
 
 -         
 
 -         return
 
 -     
 
  
-     #写了一个函数用来执行经常用到的功能,就不用一遍一遍地重复写相同的代码了
 
 -     def get_bookinformation(self):
 
 -         global bookinformation
 
  
-         bookinformation = []
 
 -         search_number = 0
 
 -         locate_number = 0
 
 -         information_mediator = []
 
 -         one_information_item = ''
 
  
-         file = open('Bookinformation.txt', 'r')
 
 -         book_list = file.readlines()
 
 -         file.close()
 
  
-         for i in book_list:
 
  
-             for each_character in i:
 
  
-                 if each_character == '\t':
 
  
-                     if one_information_item != '' and one_information_item != '\n':
 
  
-                         information_mediator.append(one_information_item)
 
 -                         one_information_item = ''
 
  
-                 elif each_character == '\n':
 
 -                     one_information_item = ''
 
 -                     information_mediator.append(str(locate_number))
 
 -                     #这里会将每一行的行号写入列表中,后面会用得到
 
 -                     locate_number += 1
 
 -                     break
 
  
-                 else:
 
 -                     one_information_item += each_character
 
 -                 
 
 -             bookinformation.append(information_mediator)
 
 -             information_mediator = []
 
 -         
 
 -         #程序只需要bookinformation这个数组就行,其他的变量作为局部变量就可以
 
 -         return bookinformation
 
 -     
 
  
-     #这个函数用来判断输入的序号合不合法
 
 -     def if_integer_is_valid(self):
 
  
-         book_number = input('请问需要对第几本书进行操作?输入数字即可')
 
  
-         while not str.isdigit(book_number):
 
 -             print('请确保输入的是整数序号')
 
 -             book_number = input('请问需要对第几本书进行操作?输入数字即可')
 
  
-         while int(book_number) != float(book_number):
 
 -             print('请确保输入的是整数序号')
 
 -             book_number = input('请问需要对第几本书进行操作?输入数字即可')
 
  
-         keyboard.wait('enter',True,True)
 
  
-         return book_number
 
  
- main = Menu()
 
 - main.showmenu()
 
  复制代码 
 
 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |