当前位置:

首页 > 编程开发 > 使用Python创建一个简单的图书管理系统的步骤

使用Python创建一个简单的图书管理系统的步骤

制定步骤1、进入提示语:为了制作一个友好的“图书管理系统”,先列出所有功能的菜单。如下:print("""****************************欢迎进入图书管理系统**0.退出**1.列出所有书籍**2.添加书籍**3.修改书籍**4.删除书籍**5.借书**6.还书****************************""")2、获取用户输入:第二步,用户会输入0~6的整数,以对应相对的功能。如果用户输入错误,输出“输入错误,请重新输入”。whileTrue:n=input("输入序

本文目录

      制定步骤

      1、进入提示语:

      为了制作一个友好的“图书管理系统”,先列出所有功能的菜单。如下:

      print("""
      ***************************
      * 欢迎进入图书管理系统    *
      * 0 .退出                 *
      * 1 .列出所有书籍         *
      * 2 .添加书籍             *
      * 3 .修改书籍             *
      * 4 .删除书籍             *
      * 5 .借书                 *
      * 6 .还书                 *
      ***************************
      """)

      2、获取用户输入:

      第二步,用户会输入 0~6 的整数,以对应相对的功能。如果用户输入错误,输出“输入错误,请重新输入”。

      while True:
          n=input("输入序号(0-6):")
          if n=="0":
              pass
          elif n=="1":
              pass
          elif n=="2":
              pass
          elif n=="3":
              pass
          elif n=="4":
              pass
          elif n=="5":
              pass
          elif n=="6":
              pass
          else:
              print("输入错误,请重新输入")
              print("")   #表示换一行

      扩展:

      很多语言都提供了“空语句”支持。Python 也不例外,Python 的 pass 语句就是空语句。

      有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过 pass 语句来实现。通过使用 pass 语句,可以让程序更完整。

      如下程序示范了 pass 作为空语句的用法:

      s=int(input("请输入一个整数: "))
      if s>5:
          print("大于5")
      elif s<5:
          pass   # 相当于占位符
      else:
          print("等于5")

      正如从上面程序所看到的,对于 s 小于 5 的情形,程序暂时不处理(或不知道如何处理),此时程序就需要通过空语句来占一个位,这样即可使用 pass 语句了。

      3、完善各指令程序

      如:用户输入“0”,即不但需要告诉用户“已退出程序”,还要完成“退出”功能,代码如下:

      if n=="0":
          print("退出成功")
          break

      再比如:用户输入“5”( 借书 ),如果库存仍有,提示“借书成功”,并减少此书库存。否则提示“库存不足”。如下程序:

      elif n=="5":
          xh=intinput()
          book=books[xh-1]
          if book["num"]>0:
              book["num"]-=1
              print("借书成功")
          else:
              print("库存不足")

      请参照以上代码,完善其他功能。

      4、优化程序,使代码更简洁

      可以定义函数,并循环使用函数,有助于代码的简洁性。如代码:

      def intinput(n="请输入序号:"):
          while True:
              s=input(n)
              if s.isnumeric():
                  return int(s)
              else:
                  print("请输入整数")

      扩展:

      str.isnumeric() 方法:

      检测字符串是否只由数字组成。这种方法是只针对 unicode 对象。

      函数参数含义与注意事项:

      各部分参数的含义如下:

      • 函数名:其实就是一个符合 Python 语法的标识符,但不建议读者使用 a、b、c 这类简单的标识符作为函数名,函数名最好能够体现出该函数的功能(如上面的 my_len,即表示我们自定义的 len() 函数)。

      • 形参列表:设置该函数可以接收多少个参数,多个参数之间用逗号( , )分隔。

      • [return [返回值] ]:整体作为函数的可选参参数,用于设置该函数的返回值。也就是说,一个函数,可以用返回值,也可以没有返回值,是否需要根据实际情况而定。

      注:在创建函数时,即使函数不需要参数,也必须保留一对空的“()”,否则 Python 解释器将提示“invaild syntax”错误。另外,如果想定义一个没有任何功能的空函数,可以使用 pass 语句作为占位符。

      函数的优点:

      • 在python之中使用函数最大和最直观的优点就是可以将一段代码封装起来以便随时调用,这样能够极大的提高了程序的简洁性和可读性,还可以让代码的逻辑性更加清晰。

      • 一般来说使用函数去封装的代码块都是去实现某一种功能的,而被封装成函数的代码就能够不断地去重复的调用。这样既可以提高python程序的开发效率,还可以减少一些不必要代码的编写。

      • 函数还有优点就是它其实是一个独立于其他外部代码的模块,在一个python程序去执行时如果不手动的去调用函数的话那么这个函数是不会去执行的。而当函数之中出现了错误的时候也很容易的就能够去进行修改而不会对程序的运行造成太大的影响,很好的实现了模块化。

      • python函数还可以直接保存在一个py文件之中然后以模块的方式去导入,这样一个通用的编写好的python函数就能够运用在很多不同的程序之中,经常使用的内置模块和python第三方库内其实存储的就是一个个函数。

      图书管理系统所有代码:

      def intinput(n="请输入序号:"):
          while True:
              s=input(n)
              if s.isnumeric():
                  return int(s)
              else:
                  print("请输入整数")
       
      books=[{"name":"Scratch","isbn":"12345","num":2},
             {"name":"Python","isbn":"12346","num":5}]
      print("""
      ***************************
      * 欢迎进入图书管理系统    *
      * 0 .退出                 *
      * 1 .列出所有书籍         *
      * 2 .添加书籍             *
      * 3 .修改书籍             *
      * 4 .删除书籍             *
      * 5 .借书                 *
      * 6 .还书                 *
      ***************************
      """)
       
      while True:
          n=input("输入序号(0-6):")
          if n=="0":
              print("退出成功")
              break
          elif n=="1":
              print("序号\t书名\t书号\t数量")
              index=1
              for book in books:
                  print("%d\t%s\t%s\t%d"%(index,book["name"],book["isbn"],book["num"]))
                  index+=1
          elif n=="2":
              book=dict()
              book["name"]=input("请输入书名:")
              book["isbn"]=input("请输入书号:")
              book["num"]=intinput("请输入数量:")      
              books.append(book)
              print("添加成功")
          elif n=="3":
              try:
                  xh=intinput()
                  book=books[xh-1]
                  book["name"]=input("请输入书名:")
                  book["isbn"]=input("请输入书号:")
                  book["num"]=intinput("请输入数量:")
                  print("修改成功")
              except:
                  print("出错了")
          elif n=="4":
              s=intinput()
              if 1<=s<=len(books):
                  del books[xh-1]
                  print("删除成功")
              else:
                  print("超出范围")
          elif n=="5":
              xh=intinput()
              book=books[xh-1]
              if book["num"]>0:
                  book["num"]-=1
                  print("借书成功")
              else:
                  print("库存不足")
          elif n=="6":
              xh=intinput()
              try:
                  book=books[xh-1]
                  book["num"]-=1
                  print("还书成功")
              except:
                  print("未查询到书本")
          else:
              print("输入错误,请重新输入")
              print("")
      本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
      作者最新文章
      编程开发 Python
      相关文章 更多
      python删除一个列表里的重复元素的方法与代码示例
      python删除一个列表里的重复元素的方法与代码示例

      学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

      Python写接口的步骤及完整代码示例
      Python写接口的步骤及完整代码示例

      详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

      codex怎么读取word文档及docx文件操作教程
      codex怎么读取word文档及docx文件操作教程

      介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

      怎么在Python中调用C语言代码提升性能
      怎么在Python中调用C语言代码提升性能

      详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

      Python与C语言的性能差异及底层原理
      Python与C语言的性能差异及底层原理

      深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

      Python和C语言哪个更适合编程入门
      Python和C语言哪个更适合编程入门

      客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

      selenium上传文件教程本地文件路径设置方法
      selenium上传文件教程本地文件路径设置方法

      深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

      大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
      大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

      针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

      langgraph python guide中文入门教程详解
      langgraph python guide中文入门教程详解

      本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

      Windows 安装 Python:从官方入口到虚拟环境的可复现实践
      Windows 安装 Python:从官方入口到虚拟环境的可复现实践

      面向后端开发者,基于 Python 官方文档说明如何在 Windows 上安装 Python、创建 venv 虚拟环境及使用 pip 管理依赖。包含可复制命令、验证方法及工具选择边界,避免常见配置误区。

      查看更多
      精品专题 更多
      装机必备
      装机必备

      正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

      Windows
      Windows

      正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

      PDF教程
      PDF教程

      正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

      Mac软件 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      Aperty macOS版
      Aperty macOS版
      macOS

      Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

      WINDOWS 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      PixTV 网页版
      PixTV 网页版
      Windows

      PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。