信息技术来源:宁波市 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 += chresult初值为空字符串,循环逐个处理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 | ! |
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_ningboermo_q010
