对py作业的一个复盘

这段时间去学了会py,写了一个小作业。今日复盘总结一下。

这个作业题目是这样的:

对于我这种小白来说,初看还是有点懵的。分几步来看在结合ai的辅助,还是勉强可以作出来的。

1.要搞懂怎么去创建每本图书的基本属性

这点其实是很重要的。首先你的创建好后后面的功能才有实现的可能。这里采用的就是类的写法

这里主要就是定义了书的一些属性,让你在下面去定义一本书时就可以在其中去取属性就行了。

下面我想的就是去初始化一些书,那既然我们要初始化一些书的话,我们是不是就需要去有个空间去存取。那我们就需要在外面去定义一个列表。因为列表是按下标来存取的,所以我们就按照下标去分别赋值就行。你只需应用类的属性,在后面给每个属性分别赋值即可。

接下来就是分别封装函数来赋予其功能了。

2.添加图书

这里若你想要用户有较好的体验,就需要用一个循环,避免用户去输入输入一些无法识别的东西然后直接返回菜单了。这里就要考虑的就是用户会不会正确的去输入四个参数,或者是添加的图书会不会和已有的图书编号重复了,或者就是在输入最后书的数量时用户会不会给你输入一个字母啥的,造成失败。这些都应该是我们应该考虑的。那再这里我学会了当你要分割四个参数时你要这样写:

复制代码
part = user.split(",")

这样就将4个参数分开分别放在part这个新建列表中了。后面再分别用变量去读取即可。后面通过循环列表来观察是否其中有编号重复。想循环列表也很简单:

复制代码
for 变量名 in 列表名:

这就可以循环整个列表,直到读取不到空间。后面的判断数量是不是数字的话,就要用到try.....except:.... except后面跟的是不同的异常类型。再后面当你要将书存入列表时,这时候就要去循环列表下标,将数据存入。具体代码如下:

3.查询书

这里其实就有一点要特别记住的就是:模糊查找

复制代码
变量1 in 变量2 

一般来说我们都是==来去让两个相等时去打印出书。改成in后只要用户输入的变量1存在变量2中,就会显示出来。要主要这个得在字符串中才行。代码附上:

4.删除图书

py的列表中当你赋予某一个为None时,剩下的就会自动补齐上来了!

5.保存文件

这里采用的时json文件存法。这是真用ai才懂还有这种好方法。

有几大好处:

1.数据可以永远保存

2.格式简单,让人一眼就可以看懂,像这样:

复制代码
[
{
      列表[0]的属性
}
{
      列表[1]的属性
}
]

3.步骤简单,分两步就搞定,将列表存入文件,将文件读回列表。

4.方便做增删

5.可跨文件语言

由于json文件不认识类对象,所以我们要转为字典存入。我本来存在al中的就是类对象,json看不懂,这时我们就需要新建一个列表,将其转为字典在存入即可。json和正常文件的存入是一样的。但要加入一个核心的函数即:

复制代码
json.dump()

这里面的第一个参数放的是你要存入这个json文件的数据变量名。这样就好了。

6.把保存的数据取出

这里有一步关键的就是json.load将json文件中的数据取出来然后转成py能读懂的方式。

7.运行程序

这里就要使用到一个

复制代码
if __name__ == "__main__":

这个是py自带的一个运行代码,写入即可。

通过这个还是学会了很多知识,还是很有用的。

相关推荐
第一程序员6 分钟前
Rust trait 入门:把 AI 客户端抽象成可替换接口
python·rust·github
Ulyanov35 分钟前
Python实现6-DOF刚体仿真器(下)——环境扰动与控制闭环
开发语言·python·算法·系统仿真·雷达电子对抗·导引头
分布式存储与RustFS39 分钟前
RustFS Beta.10 性能解读:PUT 全面反超 MinIO,Rust 重写对象存储成了?
开发语言·后端·rust
小小的木头人1 小时前
Python 批量解析 Excel 经纬度,调用高德地图 API 获取中文地址
开发语言·python·excel
金銀銅鐵1 小时前
[Python] 为 Vole 机器语言实现图形化界面
python·程序员
小林ixn2 小时前
Python基础全梳理:从注释到函数,这些细节你都掌握了吗?
python·编程语言
nzz_1712142 小时前
PHP程序员转型AI岗位指南:核心技能、北京就业市场与转型路径分析
开发语言·人工智能·php
Risehuxyc2 小时前
C# 将doc转换为docx
开发语言·c#·xhtml
今天AI了吗2 小时前
Hermes Agent 搭建全流程:从本机试跑到可持续运行的个人 AI Agent
java·人工智能·python·学习·embedding
多加点辣也没关系3 小时前
JavaScript|第24章:事件循环与并发模型
开发语言·javascript·ecmascript