入门编程练习疑问:如何从字符串变量中提取并拼接辅音字母
解决Python提取辅音字母的问题
嘿,我来帮你搞定这个提取辅音的小任务!你已经会遍历单词里的每个字母了,剩下的其实很简单,咱们一步步来:
核心思路
首先得明确:辅音字母就是除了元音(a、e、i、o、u)之外的字母。所以我们只需要判断每个字母是不是元音,不是的话就把它收集起来就行——比直接定义所有辅音要简单得多,毕竟元音只有5个嘛!
分步实现代码
方法1:基础循环写法(适合新手理解)
这是最直观的写法,和你已经掌握的遍历操作完美结合:
summer_word = "music" # 用集合存元音,判断"是否存在"的效率比字符串更高 vowels = {'a', 'e', 'i', 'o', 'u'} # 初始化一个空字符串,用来拼接辅音字母 result_consonants = "" # 遍历每个字母 for letter in summer_word: # 如果当前字母不是元音,就拼接到结果里 if letter not in vowels: result_consonants += letter # 输出结果:msc print(result_consonants)
方法2:简洁的列表推导式写法
如果想让代码更简洁,可以用Python的列表推导式,一行搞定收集和拼接:
summer_word = "music" vowels = {'a', 'e', 'i', 'o', 'u'} # 用列表推导式筛选辅音,再用join拼接成字符串 result_consonants = ''.join([letter for letter in summer_word if letter not in vowels]) print(result_consonants) # 同样输出 msc
按练习提示的写法(用辅音字符串判断)
如果一定要按照练习提示的思路,先定义所有辅音的字符串,也可以这样写:
summer_word = "music" # 定义所有小写辅音字母的字符串 all_consonants = "bcdfghjklmnpqrstvwxyz" result_consonants = "" for letter in summer_word: # 判断字母是否在辅音字符串里 if letter in all_consonants: result_consonants += letter print(result_consonants) # 输出 msc
不过这种方法的缺点是,如果单词里出现大写字母,还需要额外处理大小写统一,所以还是推荐前两种判断"非元音"的方法~
内容的提问来源于stack exchange,提问作者Jowison
相关产品推荐
相关产品推荐

