Cisco培训Python练习疑问:continue语句为何能去除元音?
Python中continue语句实现元音“移除”的原理解析
先看你贴的代码:
user_word = input("Enter your word: ") user_word = user_word.upper() for i in user_word: if i == "A": continue elif i == "E": continue elif i == "I": continue elif i == "O": continue elif i == "U": continue else: print(i)
其实代码并没有真的“移除”元音,只是跳过了元音的打印步骤,核心全在continue语句的作用:
- 当循环遍历到某个字符是元音(A/E/I/O/U)时,触发对应的
if分支,执行continue。这个语句会立刻终止当前循环的剩余流程,直接跳到下一次循环迭代——也就是说,不会执行后面的print(i)。 - 只有当字符不是元音时,才会走到
else分支,执行print(i)把字符输出。
举个实际例子,假设输入是"Apple",转成大写后是"APPLE":
- 第一个字符"A":触发
continue,跳过打印,直接进入下一次循环。 - 第二个字符"P":不是元音,执行
print(P)。 - 第三个字符"P":同样打印。
- 第四个字符"L":打印。
- 第五个字符"E":触发
continue,跳过打印。
最终输出就是"PPL",看起来像是元音被移除了。
另外,代码开头的user_word.upper()是为了统一字符大小写,不管你输入小写的a/e/i/o/u还是大写,都能被正确匹配到。
内容的提问来源于stack exchange,提问作者sofib
相关产品推荐
相关产品推荐

