Python文本元音直方图开发需求:需显示零值元音并统计"the"次数
修改后的代码
import string lowercase_letters = list(string.ascii_lowercase) uppercase_letters = list(string.ascii_uppercase) letters = lowercase_letters + uppercase_letters user_input = input() # 避免变量名与导入的string模块冲突 stri = user_input.lower() if not(user_input.replace(' ', '').isalpha()): exit() else: counted_the = stri.count("the") chars = [char for char in stri if char != " " and char in letters] vowels = {"a": 0, "e": 0, "i": 0, "o": 0, "u": 0} for key, value in vowels.items(): counted = chars.count(key) vowels[key] = counted # 所有元音统一输出,不再过滤计数为0的情况 if counted == 0: print(f"{key}: 0") else: print(f"{key}: {'*' * counted}") if counted_the == 0: print("zero") else: print(counted_the)
关键修改说明
- 移除了原代码中仅打印计数大于0元音的判断逻辑,确保每个元音(包括未出现的)都会输出对应信息:计数为0时显示
元音: 0,计数大于0时显示元音: 对应数量的* - 将变量名
string改为user_input,避免与导入的string模块重名引发潜在冲突 - 其余原有功能逻辑保持不变,满足不使用函数的要求
内容的提问来源于stack exchange,提问作者Alireza Bagheri
相关产品推荐
相关产品推荐

