深耕专业教研,探索前沿技术
信息技术来源:宁波市 2025 学年第二学期高考模拟考试

第 10 题

答案与解析

本题解析

参考答案

A

程序分析

result,flag = "",1
for ch in s:
    if flag == 1 and "a"<=ch<="z":
        result += chr(ord(ch)-32)
    elif ch == "#":
        flag = 1 - flag
    elif flag == 0:
        result += ch

result初值为空字符串,循环逐个处理s中的字符。flag为1且当前字符是小写字母时,将字符编码减32,转换为对应的大写字母后追加到result;flag为0时,非“#”字符原样追加。遇到“#”时,flag = 1 - flag使flag在0和1之间切换,该字符由这一分支处理,不加入result。flag为1时的其他字符不满足任何分支条件,被忽略。

flag从1开始,每遇到一个“#”切换一次。按“#”分隔的各段依次处理如下:

字符段 处理时的flag 追加到result的内容
ab 1 AB
cd 0 cd
23e 1 E(数字2、3被忽略)
! 0 !