Zybook实验作业报错:ValueError格式说明符缺失精度及内置函数问题
Python代码错误修复方案
错误1:内置函数名用作变量名
sum和max是Python的内置函数,直接将它们作为变量名会覆盖内置函数的原有功能,从而引发报错。修复时需将变量名替换为其他合法名称,比如total_sum和max_value。
错误2:格式说明符语法错误
print语句中的{:.of}属于拼写错误,正确格式应为{:.0f}——其中0表示保留0位小数,f表示按浮点数格式输出。原代码中的o是输入失误,导致Python无法识别精度参数,触发ValueError。
修正后的完整代码
# input user values user_input = input() # split a string tokens = user_input.split() # add tokens to a list input_data = [] for token in tokens: input_data.append(int(token)) total_sum = 0 average = 0 max_value = 0 for i in input_data: total_sum = total_sum + i if i > max_value: max_value = i average = total_sum / len(input_data) print('{:.0f} {}'.format(average, max_value))
验证结果
输入5 20 0 5时,代码计算出总和为30、平均值为10、最大值为20,输出结果为10 20,符合预期。
内容的提问来源于stack exchange,提问作者Teresa Miller
相关产品推荐
相关产品推荐

