Python降雨量统计
我想做的是让程序显示我输入的最高值和最低值,以及对应的月份。我并不是想显示平均值或总和。我遇到了一个错误,如果有人能帮我看看我哪里出错了,我会非常感激。
def main():
year=[]
January = float(input('Please enter January rainfall: '))
February = float(input('Please enter February rainfall: '))
March = float(input('Please enter March rainfall: '))
April = float(input('Please enter April rainfall: '))
May = float(input('Please enter May rainfall: '))
June = float(input('Please enter June rainfall: '))
July = float(input('Please enter July rainfall: '))
August = float(input('Please enter August rainfall: '))
September = float(input('Please enter September rainfall: '))
October = float(input('Please enter October rainfall: '))
November = float(input('Please enter November rainfall: '))
December = float(input('Please enter December rainfall: '))
year.value((January, February, March, April, May, June, July, August, September, October, November, December))
def GetSmallestRainfall():
print('The minimum rainfall is', min(year))
lowest()
def GetLargestRainfall():
print('The most rainfall is', max(year))
highest()
main()
2 个回答
2
首先,我建议你用一个列表来存储每个月的降雨量,而不是用12个不同的变量。还有,你在主函数里从来没有调用过 GetSmallestRainfall()
或 GetLargestRainfall()
,所以这些函数根本没有被执行。还有一点是,这些函数不在主函数的范围内,你需要把它们作为参数传递,并返回最小值以便打印,像这样:
def getValues():
months = ["January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
values = []
for i in range(12):
values.append(int(input("Please enter " + str(months[i]) + " rainfall: ")))
return values
def main():
rainfall = getValues()
print("The minimum rainfall was " + str(min(rainfall)))
print("The maximum rainfall was " + str(max(rainfall)))
main()
-1
- 当你尝试使用值函数时,year这个变量是无法被找到的。
- 另外,列表对象是没有值函数的。
你应该往列表里“添加”内容。