对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自带的一个运行代码,写入即可。

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

相关推荐
萌动的小火苗3 小时前
1、python基础面试题
java·开发语言·python
运维行者_3 小时前
网络监控与ITSM集成:从告警到工单,实现运维自动化闭环
开发语言·网络·分布式·后端·架构·flask·php
sunywz3 小时前
【从零搭建物联网智能充电桩系统】2、自定义二进制协议:设备为什么不用 JSON?
python·物联网·json
小叮当爱咖啡3 小时前
Day3.参数+Prompt三板斧
开发语言·python·prompt
菜冻鱼3 小时前
Python-pandas-索引与筛选
开发语言·笔记·python·numpy·pandas·学习方法
青 春 记 忆4 小时前
LeetCode 53. 最大子数组和|Python 解法详解
python·算法·leetcode
阿童木写作4 小时前
跨境电商图片翻译工具推荐:批量AI翻译+视频字幕+智能抠图
大数据·人工智能·python·音视频
鹿角片ljp4 小时前
Java面试复盘(二):String不可变、字符串常量池与字符串拼接
开发语言·python
讲温控就好了4 小时前
光刻温控的产业链价值:从精度指标到半导体制造竞争力
python·制造
小秋求学记.5 小时前
PHP安全漏洞实战:从环境配置到RCE攻击
开发语言·php