You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现获取5个输入数字的最小值与第二最小值需求

修改Python程序以输出最小值和第二最小值

方法一:基于遍历逻辑维护双最小值变量

延续你原代码的遍历思路,通过两个变量分别记录最小值和第二最小值,同时处理重复输入的场景:

train = []
# 用无穷大初始化,避免输入值大于100时出错
min1 = float('inf')
min2 = float('inf')

for i in range(5):
    num = int(input("Enter a number: "))
    train.append(num)

for carriage in train:
    if carriage < min1:
        # 当前数比最小值更小,原最小值降级为第二最小值
        min2 = min1
        min1 = carriage
    elif carriage < min2 and carriage != min1:
        # 当前数小于第二最小值且不等于最小值,更新第二最小值
        min2 = carriage

print(f"Minimum is {min1}")
print(f"Second minimum is {min2}")

方法二:利用排序简化逻辑

如果追求代码简洁,可先对列表排序,再提取对应元素,同时兼容全重复值的情况:

train = []
for i in range(5):
    train.append(int(input("Enter a number: ")))

train_sorted = sorted(train)
min1 = train_sorted[0]
min2 = min1

# 找到第一个不等于最小值的元素作为第二最小值
for num in train_sorted[1:]:
    if num != min1:
        min2 = num
        break

print(f"Minimum is {min1}")
print(f"Second minimum is {min2}")

若你能确保输入不会出现全重复值,也可直接用min2 = train_sorted[1]简化代码,但上述写法能适配所有输入场景。

内容的提问来源于stack exchange,提问作者user16988396

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 12:50:26