使用循环打印给定列表中的第二个最低数字

问题描述 投票:0回答:1

因此,我试图使用循环查找给定列表中编号最小的第二个值。我尝试使用for循环来执行此操作,但是我没有打印出两个值,而是只将一个值打印了十二次。让我演示:

months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

# List of average monthly rainfall for each month in "months":

rainfall = [3.1, 3.1, 2.6, 1.1, 0.2, 0, 0, 0.2, 0.4, 0.4, 2, 2.1]

# Calculations and printing the results:

print("1. Total rainfall for 2019 in Los Angeles, California:", sum(rainfall), "inches.")
print("2. Average monthly rainfall for 2019 in Los Anges, California:", sum(rainfall) / len(rainfall), "inches.")
print("Highest rainfall in 2019 was", max(rainfall), "in", months[rainfall.index(max(rainfall))])

for number in rainfall:
    print("The lowest rainfall in 2019 was", min(rainfall), "in", months[rainfall.index(min(rainfall))])

这是此循环的结果:

1. Total rainfall for 2019 in Los Angeles, California: 15.2 inches.
2. Average monthly rainfall for 2019 in Los Anges, California: 1.2666666666666666 inches.
Highest rainfall in 2019 was 3.1 in January
June
June
June
June
June
June
June
June
June
June
June
June

我也尝试过在for循环中使用if语句:

for number in rainfall:
    if rainfall < 0.2:
        "The Lowest rainfall in 2019 was", min(rainfall), "in", months[rainfall.index(min(rainfall))])

这是回溯错误消息:

“ TypeError:'

我在这里做错了什么?请帮忙。另外,请保持简单,我是Python的初学者,而我所输入的months [rainfall.index()]代码正是教授所要求的,并且还需要我的最小和最大代码教授。他还要求我使用循环来打印出降雨列表中的两个最低数字,以与它们对应的月份相匹配,因此是months(rainfall.index())代码。感谢您的任何帮助,谢谢。

此致,安娜·贝尔德

python list loops indexing min
1个回答
0
投票

更新的代码

for number in rainfall: if number < 0.2: print("The Lowest rainfall in 2019 was", min(rainfall), "in", months[rainfall.index(min(rainfall))]))

© www.soinside.com 2019 - 2024. All rights reserved.