第 1 题 鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( )答案:×(错误)解析:鸿蒙操作系统(HarmonyOS)是华为公司开发的面向多设备的分布式操作系统,主要功能是提供设备间的协同和资源共享,并不具备编译或解释源程序的功能,因此该说法错误。
第 2 题 Python表达式5 < 10 and 20 的值为True。( )答案:×(错误)解析:Python逻辑运算符and的规则是:若左侧表达式为True,返回右侧表达式的值;若左侧为False,返回左侧的值。本题中5<10为True,因此5<10 and 20的返回值是20,最终输出20,而非True,该说法错误。
第 3 题 Python表达式10 ** 0.5 == 10 ** 1 / 2 的值为False。( )答案:√(正确)解析:Python中**运算符的优先级高于除法运算,因此10 ** 0.5等价于10 ** (0.5),结果为3.1622776601683795;而10 ** 1 / 2等价于(10 ** 1) / 2,结果为5.0。两者不相等,因此表达式值为False。
第 4 题 下面Python代码执行时如果输入整数(包括负整数、0 和正整数),其输出都将是0。( )
N = int(input())print(N)while N: N //= 10
答案:×(错误)解析:代码逻辑:输入一个整数N,首先打印N的值,然后进入while循环,循环条件为N非0时继续执行,循环体内将N整除10(去掉最后一位)。因此:
- 输入正整数或负整数时,while循环会执行多次,直到N被整除到0为止,最终输出的结果为0。因此只有输入0时输出为0,其他整数输入时输出为0的过程需要经历多次循环,最终结果为0,但不是直接输出0。
第 5 题 下面的Python代码执行后,其输出是4 False。( )
a = 4b = a == 5print(a, b)
答案:√(正确)解析:
- 表达式
a == 5比较a是否等于5,结果为False,因此b的值为False; print(a, b)会输出a 的值4和b的值False,最终输出为4 False。
第 6 题 下面Python代码执行后将输出5。( )
i = 0while i < 5: i += 1 print(i)continue
答案:×(错误)解析:代码中print(i)在while循环内,每次循环都会执行,因此会依次输出1、2、3、4、5(共5行内容),而非直接输出数值5。
第 7 题 下面的Python代码可以用于判断正整数N的位数(即几位数,如123 是3 位数,12 为2 位数)。( )
N = int(input())i = 1whileTrue:if N % (10 ** i) == N: print(f"{N}是{i}位数") i += 1break
答案:×(错误)解析:代码逻辑错误:当N=123时,i=1时N%(10**1)=3不等于N;i=2时N%(10**2)=23不等于N;i=3时N%(10**3)=123等于N,此时输出“123是3位数”,但i的值已经被修改为4,导致输出结果错误。正确的逻辑应该是:当N%(10**i) == N时,说明N的位数为i,此时直接输出结果并break,无需修改i的值。
第 8 题 计算交叉加减的结果,形如1-2+3-4+5-…… 。将下面Python代码中的Flag = -Flag 改为Flag -= Flag 效果相同。( )
N = int(input())Flag = -1tnt = 0for i in range(1, N + 1): Flag = -Flag tnt += Flag * iprint(tnt)
答案:×(错误)解析:Flag = -Flag的作用是将Flag的值在-1和1之间切换,实现交替加减的效果;而Flag -= Flag会将Flag的值变为0,导致tnt的计算结果始终为0,无法实现题目要求的交叉加减效果。
第 9 题 下列Python代码执行后将输出55。( )
cnt = 0for i in range(10):for j in range(i,10): print(cnt) cnt += 1
答案:×(错误)解析:代码中print(cnt)在内层循环中,每次循环都会执行,因此会输出从0开始的连续整数,直到cnt增加到54时输出54,下一次循环cnt增加到55时输出55,但循环结束后cnt的值为55,并不会再输出,因此最终输出的结果是从0到54的连续整数,而非直接输出数值55。
第 10 题 下面Python代码执行后输出如下,因为代码print() 的括号中没有任何内容,删除不影响输出效果。( )
for i in range(1,10):for j in range(1,10): print(f"{i*j:3}",end="") print()
答案:×(错误)解析:内层循环的print使用end=""取消了默认的换行符,所有乘法表内容会在同一行输出;外层的print()作用是输出换行符,实现乘法表的按行显示。若删除该print(),所有内容会在同一行输出,与原效果完全不同。