
【上海华师大版】高一信息技术必修一编程部分期末复习

本复习以python相关部分易错点,重难点为主,面向应考的高一学生,概念表述可能并不严谨,仅供参考,如有纰漏,敬请指出
2023.6.29增改
第二章 算法与程序实现
算法的特征:
- 有穷性
- 确定性
- 有>=0个输入
- 有>=1个输出
运算符与表达式
逻辑运算符优先级:not>and>or
优先级:算数>关系>逻辑(运算符)
循环结构
(1)for循环
格式:
1 | for 循环变量(常用i) in 范围: |
含义:循环变量会在每次循环中分别取范围内的每一个值,即从前往后依次取范围内的值,一次循环中循环变量为范围中的值之一,待取到范围内每一个值的每一次循环都结束后,跳出循环
(2)while循环
格式:
1 | while 条件: |
含义:只要条件成立,将一直执行循环
请注意,为避免死循环,使用while语句时,需自行声明循环变量,并具有能使循环判断表达式改变的语句,最终能够结束循环(有穷性)
(3)range函数
格式:range(起始值,终值,步长)
效果:生成一个从起始值开始(包含起始值),每次+步长,一直到终值(不包含终值)的整数序列
注意点:起始值如留空,默认为0,步长如留空,默认为1,终值不可留空
正确的留空写法:range(终值),range(起始值,终值),不可写成range(终值,步长)
枚举法
“辗转相除法”简介(求最大公约数)
用较大数整除较小数,取余数,并用除数再除以余数,以此循环,直到余数为0时,此时的除数即位最大公约数
1 | m=int(input()) |
请注意:我个人认为这段代码有误或非必要,因为按照“辗转相除法”的概念,应使用较大整数对较小整数取余,而此处代码实现的是用较小整数对较大整数取余,且事实上,在算法实际执行过程中,你会发现这两者得到结果并无差异。
1 | if (m>n): |
第三章 数据处理与应用
简单网络爬虫
所用到的库:requests,bs4(这里只用到beautifulsoup)
Requests简介:
- 功能:发送http请求
- 涉及到的方法:get
BeautifulSoup简介:
- 功能:解析HTML代码,并获得相关标签内容
- 涉及到的方法:select(),title,text
关键代码解析
1 | from bs4 import BeautifulSoup |
导入外部库,不必多说,但绝对不可以遗漏
1 | html=requests.get(url) |
获取指定url的网页HTML数据,并存入名为“html”的变量(注意,此处变量类型是一个URL对象,代表了整个网页,不是写有网页源代码文字的文本类型,因此在解析源代码时,第一个参数要写html.text)
1 | html.encoding="utf-8" |
确定编码格式
1 | sp=BeautifulSoup(html.text,'html.parser') |
用解析器“html.parser“解析源代码,并将结果返回到sp中(注意 此处sp是一个BeautifulSoup类对象,这里涉及到面向对象的概念,这里不做详细解释,可将其简单理解为一个自带一些方法(属性),可操作的抽象对象)
1 | title=sp.select("title") |
利用sp对象的select属性,抓取该网页中名为“title”的标签,并存入title变量(注意,这里并未去除html标签)
1 | print(sp.title.text) |
注意此处的.text,用于去除html标签(形如
数据整理
所用到的库:pandas,numpy
读取csv:
1 | df=pandas.read_csv(“ ”,encoding=" ") |
读取csv文件,写入名为df的对象(该对象为DataFrame对象)
read_csv函数需至少传入两个参数,前一个为文件路径(注意,如果代码文件和所需csv文件在同一个根目录下,可只写csv文件名,这称为相对路径),后一个为编码格式,常用utf-8和ansi
筛选记录值
1 | df1.df[df["字段名"]==字段内容] |
在df中筛选符合制定字段的记录值(也就是说,寻找符合指定特征的记录值)
注:以下的DataFrameName代指需要操作的,用pandas构建的DataFrame对象的名字,如案例中的df1
在一列数据中求平均/最大/最小
平均:
1 | numpy.mean(DataFrameName对象名["字段名"]) |
最大:
1 | numpy.max(DataFrameName["字段名"]) |
最小:
1 | numpy.min(DataFrameName["字段名"]) |
去重(注意,需要pandas)
DataFrameName.drop_duplicates(subset=[‘字段名’],keep=””,inplace=)
第一个参数,需要去重的字段名
第二个参数,如引号内写first,保留第重复数据中的第一个,写last保留最后一个,写False不保留
第三个参数,接受布尔值(True或False),代表是否覆盖原文件
去除缺失
DataFrameName.dropna(axis= ,inplace= )
第一个参数接受二进制0或1,0删除行,1删除列
第二个参数接受布尔值,代表是否覆盖原文件
绘图
所用库:matplotlib.pyplot
常用函数:(以下用plt作为matplotlib.pyplot的别称)
plt.plot()#折线图
plt.scatter()#散点图,可用于发现异常值
plt.bar()#柱状图
plt.pie()#饼图
plt.boxplot()#箱形图,可用于发现异常值
- 标题: 【上海华师大版】高一信息技术必修一编程部分期末复习
- 作者: AlexWei
- 创建于 : 2023-01-11 23:19:57
- 更新于 : 2025-02-07 20:15:45
- 链接: https://www.alexwei.top/2023/01/11/cs-of-grade10sem1/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。