如何利用**kwargs统计参数中'Pass'的出现次数?
修正统计kwargs中'Pass'出现次数的Python代码
原代码存在多处语法与逻辑错误,以下是问题点及修正方案:
原代码的问题
- 函数定义
def count_passes(**kwargs)末尾缺少冒号:,属于语法错误 - 遍历
kwargs时默认迭代的是键名(如"math""science"),而非对应的值,无法统计目标字符串"Pass" - 未定义变量
mark,直接使用会触发NameError return语句缩进错误,放在循环内部会导致函数第一次循环就直接返回,无法完成完整统计- 调用时使用了未定义的
count_occurrence函数,且字符串中的转义符\"是多余的
修正后的代码
def count_passes(**kwargs): count = 0 # 遍历kwargs中的值,而非键 for value in kwargs.values(): if value == "Pass": count += 1 # 循环结束后返回统计结果 return count # 直接传递参数,无需转义符 result = count_passes(math="Fail", science="Fail", history="Pass", english="Pass") # 直接使用返回的统计结果 print(f'The number of passes: {result}')
运行这段代码会输出:The number of passes: 2,符合需求。
内容的提问来源于stack exchange,提问作者TahaAvadi
相关产品推荐
相关产品推荐

