Python Continue语句问题:如何修改代码过滤所有元音字母
过滤所有元音字母的Python代码修改方案
原始问题
需求:过滤元音字母,仅输出非元音字母。当前代码仅能过滤单个元音字母A,输入'alaska'后输出结果为L、S、K。现有代码如下:
# Prompt the user to enter a word # and assigne it to the user_word variable. user_word = input('Please enter a word:') user_word = user_word.upper() for letter in user_word: if letter == 'A': continue print(letter)请问如何修改代码以实现过滤所有元音字母?
修改方案
要实现过滤所有元音字母,只需把单个元音的判断逻辑改成判断字母是否属于元音集合即可,以下是优化后的代码:
# Prompt the user to enter a word # and assign it to the user_word variable. user_word = input('Please enter a word:') user_word = user_word.upper() # 定义包含所有大写元音字母的集合 vowels = {'A', 'E', 'I', 'O', 'U'} for letter in user_word: # 如果当前字母是元音,跳过输出 if letter in vowels: continue print(letter)
关键说明
- 用集合
vowels存储所有元音字母,相比多个if letter == 'A' or letter == 'E'...的写法,更简洁且查找效率更高; - 保留
upper()方法统一转换为大写,确保输入的小写元音(如a、e)也能被正确过滤; - 输入
alaska时,转换为大写ALASKA后,所有A都会被过滤,最终输出L、S、K,符合需求。
内容的提问来源于stack exchange,提问作者moon light
相关产品推荐
相关产品推荐

