内容正文:
第二节 用算法解决问题的过程
考点 用算法解决问题的过程
达标 1. C揖解析铱该步骤中出现了循环袁应用循环结构遥
达标 2. B揖解析铱解决问题有多种算法遥
达标 3. 渊1冤6 渊2冤淤m<n? 于r=m%n 盂r=0?揖解析铱
渊1冤24 和 18的最大公约数为 6遥 渊2冤淤处为判断 m尧n的大小关
系曰于处用于得到 m 除以 n 的余数 r曰盂处用于判断余数 r是否
为 0袁r=0时袁退出循环袁输出 n遥
第三章 算法的程序实现
第一节 Python语言基础
考点一 编程环境
考点二 数据类型与表达式
考点三 变量和赋值语句
达标 1. B揖解析铱先算 10**2袁本题答案为 12遥
达标 2. D揖解析铱A的结果为 4袁B的结果为 7.0袁C 的结果为
2.33袁D的结果为 2遥
第二节 基本数据结构
考点一 字符串和列表
考点二 索引
考点三 字典
达标 1. B揖解析铱s咱1暂的值为野0冶曰s咱0颐2暂的值为野NO冶曰s咱颐颐暂
的值为字符串的所有字符遥
达标 2. A揖解析铱程序运算结束后 a=咱1,2,3,4,咱5,6暂暂袁故 a咱-2暂
的值为 4遥
达标 3. D揖解析铱字典中通过键来查找对应的值遥
达标 4. D揖解析铱A尧B尧C均为 False袁D为 True遥
达标 5. D揖解析铱该程序运行后 print语句输出键的值袁且不
换行遥
第三节 顺序结构与分支结构
考点一 顺序结构
考点二 分支结构
达标 1. A揖解析铱该算法结构是顺序结构遥
达标 2. C揖解析铱当 x逸0时袁y=x袁反之 y=-x遥
达标 3. A揖解析铱B 项袁当 t臆50 时袁野小雨冶袁不符合题意曰C
项袁当 t臆25 或 t>50 时袁野雨停冶袁不符合题意曰D 项袁当 t>50 时袁
不会执行野雨停冶袁不符合题意遥
第四节 循环结构
考点 循环结构
达标 1. B揖解析铱range(0,2*n,2)表示从索引 0 开始袁每 2 个
数据一组袁共循环 n次遥 m1和 m2表示最大值和次大值遥 若满足
条件 a咱i暂>a咱i垣1暂袁表示在一组的两个数据中找出一个较大者遥有
3种可能性院t2比 m1大袁意味着 t1和 t2是较大者和次大者曰t1比
m1大但 t2比 m2小袁次大者为 m1袁最大者为 t1曰t1比 m1小但 t2
比 m2大袁仅修改次大者遥
达标 2. A揖解析铱遍历数组 a 中数据袁将大于 90 计入 A袁大
于 80但小于等于 90计入 B袁其他的计入 C遥
达标 3. B揖解析铱从索引号为 2 的数组元素开始袁统计当前
元素是否是前面 2个元素之和的个数遥
达标 4. D揖解析铱当 n=1时袁条件判断框值为 False袁直接输出
野验证成功冶袁A错误曰n不管是奇数还是偶数都能验证成功袁B 错
误曰n=2时袁n屹1条件判断两次袁第一次 n=2袁第二次 n=1袁C错误遥
第五节 函数与模块
考点一 函数
达标 1. 淤range(len(s)) 于t越sn咱s咱i暂暂 盂ans垣越t*k**(len
(s)原i原1)揖解析铱淤从表达式 s咱i暂来看袁需遍历字符串 s 的各个位
置遥于不是数字就是 A~F的字母袁需在字典 sn中取出相应的值遥
采用按权展开相加的方法袁将各个位的数字与位权的乘积进行
累加遥
达标 2. 渊1冤313尧353尧373尧383渊任答 1 个冤 渊2冤淤k原1渊或
其他等价答案冤 于len(k)原1原i渊或其他等价答案冤 盂return
flag渊或其他等价答案冤 榆ishw(str(i))渊或其他等价答案冤揖解析铱
渊1冤区间范围咱300,400暂的回文数有 303袁313袁323袁333袁343袁353袁
363袁373袁383袁393袁找出其中的素数遥 渊2冤自定义函数 isprime 判
断 k 是否为质数袁质数的条件是不能被除了 1 和他本身外的数
整除袁因此 i的范围是 2~(k原1)遥 自定义函数 ishw 判断字符串 k
是否是回文袁0 和 len(k)原1袁1 和 len(k)原2 是对称位置袁因此索引
位置 i和其对称位置之和为 len(k)原1袁则索引位置 i 的对称位置
可以表达为 len(k)原1原i袁如果不相等袁则 flag的值为 False袁盂处将
返回函数的值遥 榆处将判断数 i是否为回文遥
考点二 Python的内置模块
考点三 Python模块的导入
达标 1. B揖解析铱黑色的转换为野*冶袁白色写入空白遥
达标 2. B揖解析铱语句 s越s咱:k暂垣s咱k垣1:暂的功能是去除该字符
串索引 k位置上字符遥
第六节 简单算法及其程序实现
考点一 解析算法及其程序实现
考点二 枚举算法及其程序实现
达标 1. 渊1冤23500 渊2冤淤int(s咱i+1暂)*500 于p=i 盂q+1
揖解析铱渊1冤该订单一天住宿的总金额=500伊渊2+8冤+300伊渊16+19冤+
200伊渊14+26冤=23500元遥 渊2冤淤处根据 elif下面的语句可知袁变量
income用于统计住宿金额遥 s咱i暂的值为野A冶袁代表 A型房间袁A型
房间只能订 1耀9个袁则 s咱i+1暂表示 A型房间的数量袁A型房间的
住宿团队价为 500元/晚袁故填入代码为 int(s咱i+1暂)*500遥 于处自
定义函数 fi(s,b,e)中袁s表示订单码字符串袁b表示要遍历字符串 s
的开头索引袁e 表示要遍历字符串 s 的结尾索引袁 根据代码
野total=fi(s,p+1,e-1)冶可知袁for语句计算的是第一个团队的住宿金
额袁则 p+1表示要遍历字符串 s的开头索引袁代码野if s咱i暂=="-"
and not flag:冶表示当前遍历的 i 为字符串 s 中第一个野-冶的索
引袁故填入代码为 p=i遥 盂处代码累加第二个团队的住宿金额袁画
线处代码表示要遍历字符串 s的开头索引袁即第二个野-冶后面字
符的索引袁第二个野-冶的索引通过代码野elif s咱i暂=="-":q=i冶存储
在变量 q中袁故填入代码为 q+1遥
达标 2. 渊1冤5寅16寅8寅4寅2 渊2冤淤n%2==0 于n=n*3+1
渊3冤A揖解析铱渊1冤根据算法特点院偶数袁下一步将其除以 2曰奇数袁
下一步将其乘以 3再加 1遥 初始时袁n=10袁10是偶数袁得到 n=10衣
2=5曰5 是奇数袁得到 n=5伊3+1=16曰16 是偶数袁得到 n=16衣2=8曰8
是偶数袁得到 n=8衣2=4曰4是偶数袁得到 n=4衣2=2曰2 是偶数袁得到
n=2衣2=1遥 渊2冤淤处根据代码野n=n//2冶可知袁该处判断 n是否为偶
数遥 于处根据 if语句可知袁该处 n为奇数袁故执行乘以 3再加 1
的操作遥 渊3冤在该程序段中袁根据输入的整数 n袁通过一系列的逻
辑判断和数学运算袁最终得到结果 1袁符合解析算法的特点遥
课堂精讲参考答案与解析
65
课堂精讲 学考一号 高中学业水平复习方略 信息技术
揖课程要求铱
殷掌握一种程序设计语言的基本知识袁使用程序设计语言实现简单算法遥
殷通过解决实际问题袁体验程序设计的基本流程袁感受算法的效率袁掌握程序调试
与运行的方法遥
揖学业要求铱
殷对特定问题设计算法后袁在理解和掌握 Python语言基本知识的基础上袁能综合
应用顺序尧选择和循环三种控制结构袁掌握程序编写尧运行和调试的基本方法遥
殷在日常生活和学习中主动运用算法思考和解决问题袁并在用 Python语言编写
程序解决实际问题的过程中袁根据需要选用合适的算法渊如解析算法尧枚举算
法冤编程实现问题求解袁体验程序设计的内涵和魅力袁感受算法的效率袁同时对
自己和他人设计的程序进行优化袁体会问题求解算法的多样性和复杂性遥
算
法
的
程
序
实
现
课
程
标
准
Python语言基础
基本数据结构
常见程序结构
函数与模块尧简
单算法及其程序
实现
第三章
构·网络体系
第一节 Python语言基础
学·知识清单
Python
语言
基础
逻辑运算
关系运算
算数运算
基本运算与表达式
赋值语句
常量
变量
变量和赋值语句
编程环境
常见数据类型
布尔型
字符串型
实型
整型
考点一 编程环境
用计算机编程解决实际问题的一般过程
为院抽象与建模尧设计算法尧编写程序尧调试运
行程序遥 Python是一种面向对象尧解释型的计
算机程序设计高级语言袁其语法简洁清晰袁方便
对数据进行组织和处理曰具有丰富和强大的库袁
可以支持很多日常问题的程序实现遥
1. 编写 Python 程序比较方便的方式是使
用集成开发环境渊IDE冤袁它是提供程序开发环境
的应用程序袁一般包括代码编辑器尧调试器和图
形用户界面工具遥 目前袁 用于编写 Python程序
的 IDE较多袁如 IDLE尧Spyder尧Wing尧PyCharm等袁
其中 IDLE是开发 Python程序的基本 IDE遥
2. 打开 IDLE袁会出现交互式解释器 Python
Shell袁可以通过它在 IDLE 内部执行 Python 命
令袁也可以在 Python Shell的提示符野>>>冶后输
入任意的语句尧表达式或者一小段代码进行测试遥
3. IDLE还带有一个编辑器袁可以用来编辑
Python程序遥 通过 Python Shell菜单院野File冶要野New
File冶袁打开编辑器袁输入相应的 Python程序遥
4. 通过编辑器菜单院野Run冶要野Run Module冶袁
运行程序遥
考点二 数据类型与表达式
1. 常见数据类型遥
Python 常见数据类型院整型尧实型尧字符串
型尧布尔型遥
14
2. 基本运算与表达式遥
Python基本运算包括算术运算尧关系运算和
逻辑运算三大类遥 变量尧常量尧运算符和圆括号
等按一定的规则组合构成一个表达式袁可以用
来描述数据的计算过程或各种条件的判断等遥
渊1冤Python算术运算符遥
渊2冤Python关系运算符遥
渊3冤Python逻辑运算符遥
考点三 变量和赋值语句
1. 常量和变量遥
淤常量院指不需要改变也不可改变的值袁它
可以是任何数据类型袁一般在程序中直接使用遥
于变量院指在程序运行过程中值可以改变
的量遥
2. 变量命名规则遥
淤在 Python 中袁变量名可以包括字母尧数
字和下划线遥
于不能以数字开头袁并且字母区分大小写袁
例如 a与 A代表两个不同的变量遥
盂不能包含空格袁 一般使用下划线分隔一
个变量名中的两个单词袁例如 space_width遥
榆不能使用 Python保留字作为变量名袁例
如 if尧else尧while尧for等遥
虞由于 Python是动态类型语言袁因此在使
用前不需要预先声明变量的数据类型袁直接进
行赋值即可遥
3. 赋值语句遥
给变量赋值使用野=冶符号袁被赋值的是野=冶
左边的变量遥 野=冶还可以与其他符号组合使用遥
4. 表达式遥
在 Python中袁单个常量或变量可以看作最
简单的表达式袁使用各种运算符连接的式子也
属于表达式袁表达式中还可以包含函数调用遥
1达标 Python表达式 2024% 400% 10**
2//2的计算结果是渊 冤
A. 23 B. 12
C. 0 D. 4
2达标 下列 Python 表达式中值最小的
是渊 冤
A. 2**2+5%13//9
B. 8//3*7/2
C. len(range(7))/3
D. int("1"+"4")//abs(-7)
赋值方法 含义
a=10 将数值 10赋值给变量 a
a,b=1,2 将数值 1赋值给变量 a袁数值 2赋值
给变量 b
a,b='AB' 将字符野A冶赋值给变量 a袁将字符野B冶赋值给变量 b
a=b=c=10 将数值 10分别赋值给 a袁b袁c
类似野+=冶的赋值运算符还有野-=冶野*=冶野/=冶野%=冶等
咱a,b暂=咱10,20暂 将数值 10赋值给变量 a袁数值 20赋
值给变量 b
a+=1 将变量 a 的值+1 后再赋值给变量a袁等同于 a=a+1
运算符 ** * / // % + -
优先级 1 2 2 2 2 3 3
运算符 > < >= <= == ! = in
优先级 4 4 4 4 4 4 5
运算符
优先级
not and or
6 7 8
数据类型 数据表示形式
整型
数学中的整数袁如 1袁-8080袁0等曰
十六进制数渊用 0x前缀冤袁如 0xff00袁
0xa5b4c3d2等
布尔型
只有两种值院True和 False遥布尔型数据
可以进行 not尧and和 or等逻辑运算
实型
数学中的实数袁如 3.14袁-9.01等曰
用科学记数法表示的实数袁如 0.000012
可以写成 1.2e-5等
字符串型
用单引号尧双引号或三引号表示袁如院
'这是一个字符串浴 '尧"This is a string浴 "尧
'''x'''等
第三章 算法的程序实现
15