如何用while循环结合continue语句输出'a=happyfriday'中除p、r外的字符?
使用while循环+continue过滤字符串字符
你的代码存在几个关键问题:
- 直接拿整个字符串变量
a和单个字符比较,逻辑完全错误,应该逐个遍历字符串里的字符 while True是无限死循环,没有设置终止条件,程序会一直运行下去- 错误地过滤了
g和o,和你需要过滤p、r的需求不符
以下是符合需求的代码:
a = 'happyfriday' i = 0 while i < len(a): current_char = a[i] # 如果当前字符是p或r,跳过打印 if current_char == 'p' or current_char == 'r': i += 1 continue print(current_char, end='') i += 1
运行这段代码会输出:hayfiday
代码说明:
- 用索引
i来逐个访问字符串中的字符,初始值设为0 while i < len(a)确保循环在遍历完所有字符后终止- 每次取出当前索引对应的字符
current_char,判断是否是需要过滤的p或r - 如果是目标过滤字符,先让索引
i加1,再用continue跳过后续的打印步骤 - 否则打印当前字符(
end=''让结果在同一行输出),然后索引加1继续下一次循环
内容的提问来源于stack exchange,提问作者sal
相关产品推荐
相关产品推荐

