使用列表获得平均值

时间:2013-12-12 07:17:49

标签: python list average

该计划应该向用户询问12个月的月降雨量输入,计算和计算当年的降雨量,平均每月降雨量以及最高和最低量的月份。

我可以让它要求输入,每年给出总计和平均每月,但我觉得好像程序的输入部分应该以某种方式减少,它看起来太大而且笨重,我不能完全弄清楚如何获得高/低平均值。 任何帮助将非常感激。 提前谢谢。

def main():
    jan = int(input('Enter Rainfall For January: '))
    feb = int(input('Enter Rainfall for February: '))
    mar = int(input('Enter Rainfall For March: '))
    april = int(input('Enter Rainfall For April: '))
    may = int(input('Enter Rainfall For May: '))
    june = int(input('Enter Rainfall For June: '))
    jul = int(input('Enter Rainfall For July: '))
    aug = int(input('Enter Rainfall For August: '))
    sept = int(input('Enter Rainfall For September: '))
    oct = int(input('Enter Rainfall For October: '))
    nov = int(input('Enter Rainfall For November: '))
    dec = int(input('Enter Rainfall For Deceember: '))
    totalyear = jan + feb + mar + april + may + june + jul + aug + sept + oct + nov + dec
    print('The total for the year is: ',totalyear)
    avg = jan + feb + mar + april + may + june + jul + aug + sept + oct + nov + dec / 12
    print('The average monthly rainfall is: ',avg)
main()

1 个答案:

答案 0 :(得分:6)

您可以使用列表和循环。 :)

def main():
    months = ["Jan","Feb" .... ,"Dec"]
    rain = []
    for month in months:
        rain.append(int(input("Enter .. for" + month)))
    print("Total", sum(rain))
    print("Average", sum(rain)/float(len(rain)))

同样,对于最大值和最小值,您可以使用max(rain)min(rain)