python - 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 为您完成工作。您可以将年龄收集到一个列表中,排序然后提取数字。
ages = []
while True:
next_val = int(input())
if nex_val == -1:
break
ages.append(next_val)
ages.sort()
print(ages[-2:])
推荐阅读
- java - Spring Integration - MessageTransformationException - MismatchedInputException:无法反序列化字符串实例
- c++ - 如何在 C++ 中有效地从 .txt 加载数据?
- django - 在 nginx+uwsgi 中运行时,django url 模式会去除正斜杠
- captiva - Captiva Designer ODBC - 即使返回多行,流也不会出错
- tensorflow - 在 Tensorflow 2.0 中归档 tensorflow 张量的最佳方式?
- python - 在 Django 视图中散列
- mysql - 在 SQL 数据库中存储一个范围/多个范围(上限可能未知)
- oracle - 从 Oracle CLOB 创建新行并写入 HDFS
- reactjs - 为什么我在我的 axios GET 请求中得到 [object Object]?
- angular - nginx转发器参数到角度