首页 > 解决方案 > python中最大和第二大的数字

问题描述

我最近开始学习如何使用 python 编码。在这段代码中,我想找到最大和第二大的输入数字(大学教职员工的年龄)。然而它不起作用!我不知道问题出在哪里!提前致谢。

oldest = 0
oldest2 = 0
for i in range (100):
    age = int(input())
    if age > oldest :
        oldest = age
    age = int(input())
    if age > oldest2 and age < oldest: 
        oldest2 = age
  
    if age == -1:
        break
print (oldest, oldest2)

标签: python

解决方案


每个循环您会获得两次年龄,并且只考虑每个循环的两个选项之一。充其量你可能是对的。相反,让 python 为您完成工作。您可以将年龄收集到一个列表中,排序然后提取数字。

ages = []
while True:
    next_val = int(input())
    if nex_val == -1:
        break
    ages.append(next_val)
ages.sort()
print(ages[-2:])

推荐阅读