如何编写Python程序实现输入多数字取最大值,输入0终止且0不参与比较
Python 多数字输入求最大值程序实现
功能要求
- 引导用户依次输入多个数字,统计并输出其中的最大值
- 用户输入
0时程序自动终止,0不参与数值比较 - 若用户首次输入为
0,需提示用户重新输入,直到输入非0的有效数字为止 - 最终输出最大值和该值对应的输入顺序
可直接运行的参考实现
current_num = -1 input_count = 1 max_value = 0 max_position = 0 while current_num != 0: current_num = float(input(f"第{input_count}个数字:")) # 首次输入为0时循环要求重输 while current_num == 0 and input_count == 1: current_num = float(input(f"首次输入不能为0,请重新输入第{input_count}个数字:")) # 仅非0值参与最大值判断 if current_num != 0: if input_count == 1 or current_num > max_value: max_value = current_num max_position = input_count input_count += 1 print(f"最大值为{max_value},是你输入的第{max_position}个数字")
原提供参考代码的已知问题
直接运行你给出的参考代码会触发报错,问题如下:
- 未提前初始化
max变量,首次进入比较逻辑时会抛出变量未定义异常 - 输出语句中
postion为拼写错误,正确写法为position - 终止程序的0会被计入最大值比较逻辑,不符合需求设定
内容的提问来源于stack exchange,提问作者Zakilhg
相关产品推荐
相关产品推荐

