设计一个程序,让用户将12个月中每个月的总降雨量输入到列表中 . 该计划应计算并显示当年的总降雨量,月平均降雨量以及最高和最低量的月份 .
def main():
January = requestNumber ("Enter the amount of rainfall for the month of January:")
February = requestNumber ("Enter the amount of rainfall for the month of February:")
March = requestNumber ("Enter the amount of rainfall for the month of March:")
April = requestNumber ("Enter the amount of rainfall for the month of April:")
May = requestNumber ("Enter the amount of rainfall for the month of May:")
June = requestNumber ("Enter the amount of rainfall for the month of June:")
July = requestNumber ("Enter the amount of rainfall for the month of July:")
August= requestNumber ("Enter the amount of rainfall for the month of August:")
September = requestNumber ("Enter the amount of rainfall for the month of September:")
October = requestNumber ("Enter the amount of rainfall for the month of October:")
November = requestNumber ("Enter the amount of rainfall for the month of November:")
December = requestNumber ("Enter the amount of rainfall for the month of December:")
Year = [January, February, March, April, May, June, July, August, September, October, November, December]
total_rainfall = (sum(Year))
showInformation("The total rainfall for the year is:" + str(total_rainfall))
monthly_average = (sum(Year)) / 12
showInformation ("The monthly average for the year is:" + str(monthly_average))
这是我到目前为止的代码 . 我真的在努力研究问题的最后一部分,即显示最高和最低降雨量的月份 . 我知道如何使用max和min显示数字,但我不知道如何获得对应于最大和最小降雨量的月份 .
感谢任何人都能给我的帮助,这是在Jython .
1 回答
解决方案1:
将月份名称列表添加到您的程序:
然后,一旦获得用户输入,同时对两个列表进行排序:
zip()将创建两个这样的列表:
然后按第二部分(雨量)排序 .
现在最大的月份是在几个月的前面,最小的是它的最后一个元素 .
解决方案2:迭代所有元素,将它们相互比较,就像一轮冒泡排序: