Python可变数量输入数据函数编写及代码计算异常求助
问题排查:可变输入统计程序输出全0的问题
问题根源
你的代码里循环转换输入的部分存在关键错误:
for token in tokens: token = int() input_data.append(token)
这里int()未传入参数时会默认返回0,导致你往input_data里添加的全是0,最终求和、取最大值的结果自然都是0。正确逻辑应该是把遍历到的字符串类型token转换成对应整数,也就是int(token)。
修正后的代码
user_input = input() tokens = user_input.split() input_data = [] for token in tokens: # 将输入的字符串转换为对应整数 token = int(token) input_data.append(token) average = int(sum(input_data) / len(input_data)) max_num = max(input_data) print(average, max_num)
可选简化写法
用列表推导式可以压缩循环部分的代码,让逻辑更紧凑:
user_input = input() input_data = [int(token) for token in user_input.split()] average = int(sum(input_data) / len(input_data)) max_num = max(input_data) print(average, max_num)
内容的提问来源于stack exchange,提问作者Luna_Dragon
相关产品推荐
相关产品推荐

