深耕专业教研,探索前沿技术
信息技术来源:镇海中学2026年5月高三高考模拟考试

第 10 题

答案与解析

本题解析

参考答案

B

程序分析

res = ""; i = 0
while i < len(s):
    if s[i] in 'aeiou':
        res += chr(ord(s[i]) - 32)
        i += step + 1
        step += 1
    else:
        res += s[i]
        i += 1

res 初值为空字符串,i 从 0 开始,循环在 i<len(s) 时处理 s[i]。若当前字符属于 a、e、i、o、u,ord(s[i])−32 得到对应大写字母的编码,chr 将其转换为字符并追加到 res;随后 i 按当前 step+1 向后移动,再将 step 增加 1。若当前字符不是元音,则原样追加到 res,i 只增加 1,step 不变。因此,程序只收集实际访问到的字符,并将其中的元音大写;遇到元音时的跳转距离依次为 2、3、4……。

字符串 beautiful 的下标依次为 0 至 8。初始 step=1,实际访问过程如下:

本轮 i s[i] 追加后的 res 更新后的 i 更新后的 step
0 b b 1 1
1 e bE 3 2
3 u bEU 6 3
6 f bEUf 7 3
7 u bEUfU 11 4

最后 i=11,不满足 i<9,循环结束,res 为 "bEUfU"。