2.1.6-运算符与表达式.md

问答库

2.1.6 运算符与表达式(问答库)

  1. 【单选题·易】Python 提供了丰富的运算符类型。下列哪一项属于课程所列的五类运算符之一? A. 循环运算符 B. 成员运算符 C. 缩进运算符 D. 注释运算符 答案:B 解析: 课程明确列出五类:算术运算符、关系运算符、逻辑运算符、赋值运算符和成员运算符。循环、缩进、注释都不是运算符类型。
  2. 【单选题·易】使用关系运算符(也称比较运算符)比较两个值时,运算结果的类型是什么? A. 整数 B. 字符串 C. 布尔值 True 或 False D. 列表 答案:C 解析: 关系运算符用于判断相等或大小关系,结果为布尔值 True 或 False。例如 a = 87 时,a >= 60 的结果是 True。
  3. 【判断题·易】当只有一个运算对象时,- 是求该对象的相反数;当有两个运算对象时,- 是减法运算。 答案:√ 解析: 这是课程对算术运算符中减号的说明:一元减号求相反数,二元减号做减法。
  4. 【判断题·易】复合赋值运算符中,a += b 相当于 a = a + b。 答案:√ 解析: 课程给出的运算规则就是:a += b 相当于 a = a + b,即先做加法再把结果写回 a。
  5. 【单选题·中】// 和 % 常用于整数之间。运行下列程序,输出依次是什么?
print(17 // 5)
print(17 % 5)

A. 3.4 和 2 B. 3 和 2 C. 2 和 3 D. 3 和 3.4 答案:B 解析: // 计算两整数相除的商,% 计算余数。17 = 5×3 + 2,故商为 3、余数为 2。A、D 把真除法的小数结果混进来了;C 把商和余数写反了。

  1. 【多选题·中】算术运算符用于执行基本数学运算。下列属于算术运算的有: A. 加、减、乘、除 B. 取整除法、求余、幂运算 C. 判断某个值是否在列表中 D. 把右侧表达式的结果赋给左侧变量 答案:AB 解析: 课程指出算术运算符包括加、减、乘、除、取整除法、求余、幂运算。C 是成员运算符 in 的作用,D 是赋值运算符 = 的作用。
  2. 【多选题·中】运行下列程序后,哪些表达式的值为 True?
font = {'字体': '宋', '字号': 14, '颜色': '黑色'}
print('abc' in 'abc def')
print(3 in [3, 6, 9])
print('字体' in font)
print('宋' in font)

A. 'abc' in 'abc def' B. 3 in [3, 6, 9] C. '字体' in font D. '宋' in font 答案:ABC 解析: 'abc' 是 'abc def' 的子串,3 在列表 [3, 6, 9] 中,故 A、B 为 True。对字典,in 只测键、不测值:'字体' 是键,为 True;'宋' 是值,为 False。

  1. 【判断题·中】对字典使用成员运算符 in 时,既可以测试某个键是否在字典中,也可以测试某个值是否在字典中。 答案:× 解析: 课程强调:in 可以测试一个键是否在字典中,而不能测试一个值是否在字典中。例如 '字体' in font 为 True,'宋' in font 为 False。
  2. 【单选题·中】设 a = 87。下列哪一种写法不能正确表达“变量 a 的值为 60~100”? A. (a>=60) and (a<=100) B. 60<=a<=100 C. (a>=60) or (a<=100) D. (a >= 60) and (a <= 100) 答案:C 解析: 课程用 and 连接两个关系运算,也可以写成链式比较 60<=a<=100。or 是“或”,a>=60 或 a<=100 对绝大多数实数都为真,并不能表示“同时落在 60~100”。A 与 D 只是空格不同,语义相同。
  3. 【简答题·中】请写出 Python 的五类运算符,并各用一句话说明其作用。 答案: ①算术运算符:对数值做加、减、乘、除、取整除法、求余、幂运算等。②关系(比较)运算符:比较大小或是否相等,结果为 True 或 False。③逻辑运算符:在布尔值 True、False 之间运算,如 and。④赋值运算符:基本赋值 = 把右侧结果赋给左侧变量;复合赋值如 += 把运算与赋值合在一起。⑤成员运算符:测试某个值是否存在于字符串、列表、元组、集合或字典中(对字典只测键)。 解析: 评分要点:五类名称齐全;作用与课程一致。漏写“对字典只测键”或把成员运算写成循环,酌情扣分。
  4. 【简答题·难】什么是表达式?课程给出的运算符优先级从高到低大致是怎样的?为什么建议使用括号?请写出判断“a 在 100~200 且为偶数”的带括号表达式,并用一段可直接运行的程序验证 a = 150 时结果为 True。 答案: 表达式是由操作数(变量、常量)和运算符连接起来、符合语法规则的式子。优先级从高到低大致为:算术运算符、关系运算符、逻辑运算符、赋值运算符、成员运算符。加括号可以明确计算顺序,并提高可读性。带括号的表达式为 ((a>=100) and (a<=200)) and (a%2==0)。验证程序:
a = 150
print(((a >= 100) and (a <= 200)) and (a % 2 == 0))

运行后输出 True(150 落在 100~200 且能被 2 整除)。 解析: 评分要点:①给出表达式定义;②优先级顺序与课程一致;③说明括号用于明确顺序和提高可读性;④表达式与课程示例一致且代码可运行;⑤输出为 True。

  1. 【单选题·难】运行下列程序,输出结果是什么?
a = 5
b = a + 3
a += 3
font = {'字体': '宋', '字号': 14, '颜色': '黑色'}
print(a)
print(b)
print('字体' in font)
print('宋' in font)

A. 5、8、True、True B. 8、8、True、False C. 8、8、False、True D. 5、8、True、False 答案:B 解析: b = a + 3 只把和 8 赋给 b,此时 a 仍为 5;随后 a += 3 把 a 改为 8。对字典 in 只测键:'字体' 是键,为 True;'宋' 是值,为 False。因此四行输出依次为 8、8、True、False。A 忽略了复合赋值会改写 a;C 把键和值测反了;D 漏掉了 a += 3。

下载此文件