内容正文:
3.2 Python语言程序设计 1、2课时(分层作业)
【基础达标】
1.下面哪个不是Python合法的变量名( )。
A. int32 B. 40XL C. self D. _name_
答案:B
解析:变量名只能是字母、数字或下划线的任意组合,但是变量名首字符不能是数字。
2.下列哪个表达式在 Python 中是非法的?( )
A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x+= y
答案:B
解析:A 正确 多重赋值,执行后x,y,z的值都为1。
B 错误 执行后报错。
C 正确 对换赋值,执行后x和y值互换。
D 正确 增量赋值,相当于x=x+ y。
3.下列哪个不是Python的数字类型?( )
A. 整数 B. 浮点 C. 列表 D. 复数
答案:C
解析:Python 的数字类型分为整型、长整型、浮点型和复数。
4.Python的算术运算符不包括( )。
A. * B. // C. % D. \
答案:D
解析:ABC都是Python中常用的算术运算符。D是转义字符,表示行尾的续行符,即一行未完,转到下一行继续写。
5.关于Python算术操作符,以下选项中描述错误的是( )。
A. x//y表示x与y之整数商,即不大于x与y之商的最大整数
B. x**y表示x的y次幂,其中,y必须是整数
C. x%y表示x与y之商的余数,也称为模运算
D. x/y表示x与y之商
答案:B
解析:A 正确
B 错误 x**y表示x的y次幂,其中,y可以是整数,也可以是小数。
C 正确
D 正确
6.Python的逻辑运算符不包括( )。
A. and B. or C. not D. in
答案:D
解析:Python的逻辑运算符包括逻辑与and、逻辑或or、逻辑非not。in是成员运算符,如果在指定的序列中找到值返回True,否则返回False。
【能力提升】
1.执行下列程序后输出的结果为( )。
a,b=6,3
a**=b
print(a)
A. 9 B. 18 C. 216 D. 729
答案:C
解析:**=为幂赋值运算符,a**=b等效于a=a**b=6**3=216。
2.a 与 b 定义如下,下列哪个是正确的?( )
a = '123'
b = '123'
A. a != b B. a is b C. a == 123 D. a + b = 246
答案:B
解析:A 错误 a、b两个标识符是引用自一个对象,而!=是不等判断关系运算符。
B 正确 两个标识符引用自一个对象,用is进行判断。
C 错误 a = '123'表示a是字符串'123',而不是数值123,两者不能划等号。
D 错误 题干中a 和b均表示字符串'123',不能进行算术运算。
3.在Python程序中,判断n是否为偶数的表达式是( )。
A. n/2=0 B. n/2==0 C. n%2=0 D. n%2==0
答案:D
解析:/表示两个数值相除,%表示两个数相除后取模/取余。偶数是能够被2所整除的整数,即除以2后余数为0,故排除A和B。=表示赋值,==才是数学上“相等”的含义。
4.执行下列程序以后的结果是( )
①x=10
②y=x+1
③z=x+2
④print(x,y,z)
A、10 11 12 B、10 11 13 C、89 10 D、9 10
答案:A
解析:本题主要考查顺序结构的执行过程,顺序结构是自上而下执行,执行②y=x+1后y为11,执行③z=x+2后z为12,因此执行④print(x,y,z)后输出10,11,12.
【链接真题】
(23-24高一上·浙江绍兴·阶段练习)1.输入一个三位数的正整数,求该数的各位之和,设计流程图如下,请回答如下问题。
(1)上述算法的拉制结构是( )
A.顺序结构 B.选择结构(分支结构) C.循环结构
(2)流程图“①”处应填写的是( )
A.B=X%100%10 B.B=X//10%10 C.B=X//100%10
(3)使用流程图描述算法可使算法的流程描更清晰、简洁,该流程图中使用了多个平行四边形,这个图形的名称是( )
A.处理框 B.输入/输出框 C.判断框
答案:(1)A (2) B (3)B
解析:本题考查算法描述。
(1)该算法中,输入一个三位数,然后依次计算其个位、十位和百位数,并求和,整个流程是按顺序执行的,没有分支和循环,因此是顺序结构。故正确答案为:选项A。
(2)为了直接得到十位上的数,我们可以先将X整除10(去掉个位数,得到一个由百位和十位组成的新数,且十位现在变成了个位数),然后对新数取余10,这样就可以得到原数的十位数了。因此,正确的表达式是B=X//10%10。故正确答案为:选项B。
(3)在流程图中,平行四边形通常用于表示输入/输出操作,如读取用户输入或显示结果。因此,该流程图中使用的多个平行四边形是输入/输出框。故正确答案为:选项B。
(2025高二·浙江·专题练习)2.压缩技术是计算机领域中一个非常重要的技术,能够减小数据中的冗余,提高存储效率。现在有一种很简单的字符串压缩方法,就是按顺序将字符串中连续的重复字符用数字(1位)来表示,例如'AAAABAAA'经过压缩之后变为'A5B1A3'。现在要模拟解压缩的过程,编写一段Python代码,将压缩之后的字符串恢复为原来的字符串,同时规定输入的压缩之后的字符串长度为4,解压后连续的字符个数少于10,如'A4C2',部分代码如下:
s = input() #输入一个长度为4的压缩之后的字符串
list_char=s[∶∶2] #取出每个字符
list_num =① #取出每个字符对应的重复次数
answer = ②
print(answer)
(1)若压缩之后的字符串为H3G2,则原字符串为 。
(2)请将代码填写完整:
① 、②
答案:(1) 'HHHGG';(2)① s[1: : 2]或s[1]+s[3]及其他等价答案;②list_char[0]* int(list_num[0])+ list_char[1]* int(list_num[1])或s[0]* int(s[1])+s[2]* int(s[3])及其他等价答案。
解析:本题主要考查Python简单字符串处理,及字符串切片。
(1)对于压缩串H3G2,H对应重复次数3 ,G对应重复次数2,所以原字符串是HHHGG 。
(2)①list_num = s[1::2] 或s[1]+s[3]及其他等价答案:因为压缩串长度为 4,字符在偶数索引(0、2),次数在奇数索引(1、3 ),用切片[1::2]取次数字符。 ②list_char[0]* int(list_num[0])+ list_char[1]* int(list_num[1])或s[0]* int(s[1])+s[2]* int(s[3])及其他等价答案:要拼接回原字符串,需按“字符 * 次数”规则组合。结合题目提示的等价写法,可直接通过索引取字符和次数拼接。或更直接用原始输入 s 的索引。
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
3.2 Python语言程序设计 1、2课时(分层作业)
【基础达标】
1.下面哪个不是Python合法的变量名( )。
A. int32 B. 40XL C. self D. _name_
2.下列哪个表达式在 Python 中是非法的?( )
A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x+= y
3.下列哪个不是Python的数字类型?( )
A. 整数 B. 浮点 C. 列表 D. 复数
4.Python的算术运算符不包括( )。
A. * B. // C. % D. \
5.关于Python算术操作符,以下选项中描述错误的是( )。
A. x//y表示x与y之整数商,即不大于x与y之商的最大整数
B. x**y表示x的y次幂,其中,y必须是整数
C. x%y表示x与y之商的余数,也称为模运算
D. x/y表示x与y之商
6.Python的逻辑运算符不包括( )。
A. and B. or C. not D. in
【能力提升】
1.执行下列程序后输出的结果为( )。
a,b=6,3
a**=b
print(a)
A. 9 B. 18 C. 216 D. 729
2.a 与 b 定义如下,下列哪个是正确的?( )
a = '123'
b = '123'
A. a != b B. a is b C. a == 123 D. a + b = 246
3.在Python程序中,判断n是否为偶数的表达式是( )。
A. n/2=0 B. n/2==0 C. n%2=0 D. n%2==0
4.执行下列程序以后的结果是( )
①x=10
②y=x+1
③z=x+2
④print(x,y,z)
A、10 11 12 B、10 11 13 C、89 10 D、9 10
【链接真题】
(23-24高一上·浙江绍兴·阶段练习)1.输入一个三位数的正整数,求该数的各位之和,设计流程图如下,请回答如下问题。
(1)上述算法的拉制结构是( )
A.顺序结构 B.选择结构(分支结构) C.循环结构
(2)流程图“①”处应填写的是( )
A.B=X%100%10 B.B=X//10%10 C.B=X//100%10
(3)使用流程图描述算法可使算法的流程描更清晰、简洁,该流程图中使用了多个平行四边形,这个图形的名称是( )
A.处理框 B.输入/输出框 C.判断框
(2025高二·浙江·专题练习)2.压缩技术是计算机领域中一个非常重要的技术,能够减小数据中的冗余,提高存储效率。现在有一种很简单的字符串压缩方法,就是按顺序将字符串中连续的重复字符用数字(1位)来表示,例如'AAAABAAA'经过压缩之后变为'A5B1A3'。现在要模拟解压缩的过程,编写一段Python代码,将压缩之后的字符串恢复为原来的字符串,同时规定输入的压缩之后的字符串长度为4,解压后连续的字符个数少于10,如'A4C2',部分代码如下:
s = input() #输入一个长度为4的压缩之后的字符串
list_char=s[∶∶2] #取出每个字符
list_num =① #取出每个字符对应的重复次数
answer = ②
print(answer)
(1)若压缩之后的字符串为H3G2,则原字符串为 。
(2)请将代码填写完整:
① 、②
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$