深耕专业教研,探索前沿技术
信息技术来源:2025学年第二学期精诚联盟高三适应性联考

第 10 题

答案与解析

本题解析

参考答案

A

程序分析

m=0;n=0
for ch in s:
    if "0"<=ch<="9":
        m=9-int(ch)
    elif "a"<=ch<="f":
        n=(ord(ch)-ord("a")+2)%26
ans=m*5+n
print(ans)

循环从左向右读取s中的字符。遇到数字字符,就用9减去该数字并赋给m,覆盖m的旧值;遇到a至f,就更新n。由于ord(ch)-ord("a")的取值为0至5,加2后为2至7,对26取余不改变其值,因此a、b、c、d、e、f分别对应n的值2、3、4、5、6、7。其他字符不改变m、n。

循环结束时,m由最后一个数字字符决定,n由最后一个a至f的字符决定;若没有相应字符,对应变量保持初值0。程序最后输出m×5+n。

选项分析

A

符合。最后一个数字字符为4,m=5;最后一个a~f中的字符为b,n=3。输出5×5+3=28。

B

不符合。最后一个数字字符为3,m=6;最后一个a~f中的字符为c,n=4。输出6×5+4=34。

C

不符合。最后一个数字字符为3,m=6;最后一个a~f中的字符为d,n=5。输出6×5+5=35。

D

不符合。最后一个数字字符为5,m=4;最后一个a~f中的字符为b,n=3。输出4×5+3=23。