浙江高中技术 · 每一道题,认真读懂
信息技术2026年1月浙江选考

第 10 题

字符串 · Python基础知识

答案与解析

本题解析

参考答案

B

程序分析

c,i="",0
while i<len(s)and t>=0:
    if s[i]=="e":
        t-=1
    else:
        c+=s[i]
    i+=1

i从0开始,每轮加1,依次访问字符串中的字符。遇到字符e时,只将t减1;遇到其他字符时,将其追加到c。因此c收集已访问字符中除e以外的字符,t随遇到e的次数减少。

循环每轮开始时检查i<len(s)且t>=0。t等于0时仍会继续处理字符;只有t变为负数或字符已全部访问,才会在下一次条件判断时退出。

s为"keeper",t初值为2,关键状态如下:

访问的字符 下标i 本轮结束后的t 本轮结束后的c
k 0 2 "k"
e 1 1 "k"
e 2 0 "k"
p 3 0 "kp"
e 4 -1 "kp"

处理第二个e后,t=0仍满足循环条件,故p会加入c。处理第三个e后,t=-1,下一次判断时退出,末尾的r没有被访问,最终c为"kp"。