字符出现次数统计程序报错求助:'num_occur'未定义
问题修复:统计字符出现次数程序的未定义变量错误
错误原因
你的代码里,只有当目标字符存在于短语中时才会定义num_occur变量。当输入类似“n Nothing”这种字符不在短语里的情况时,if character in phrase条件不成立,num_occur从未被初始化,后续执行print语句时就会触发'num_occur' is not defined的错误。
修复方案
不需要额外的条件判断,直接利用字符串的count()方法即可——该方法在目标字符不存在时会自动返回0,完全能覆盖两种情况,还能避免变量未定义的问题,同时符合“不使用for语句”的要求。
修复后代码
string = input("Enter a string that contains a character and a phrase:\n") character = string[0] phrase = string[2:] num_occur = phrase.count(character) print(f'The number of times character {character} appears in the phrase: {num_occur}')
说明
- 去掉了多余的
str()转换,因为input()本身返回的就是字符串类型,无需额外转换。 - 直接调用
phrase.count(character),无论字符是否存在,都会返回正确的出现次数(存在时返回实际次数,不存在时返回0),不需要分开判断输出,代码更简洁健壮。
内容的提问来源于stack exchange,提问作者zkhan21
相关产品推荐
相关产品推荐

