2017-07-16 29 views
0

我试图让lowRain函数打印出月份中数组中的最小数字。 例如,当我运行rainInput函数中的循环并输入这些数字(4,3,10,10,10,10,10,10,8,23,10)时,它将通过lowRain函数。当我尝试返回产生最低雨量的月份时,我得到“12月份的最低降雨量为10英寸。”如何打印出在python中使用字符串数组的最小数字?

def main(): 
    rainfall = rainInput() 
    low, lowMonth = lowRain(rainfall) 
    print("The lowest rainfall for " + str(low) + " was " + str(lowMonth) + " inches.") 


def rainInput(): 
    rainfall = ["January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 
    for month in range(len(rainfall)): 
    rainfall[month] = (int(input("Please enter the amount of rain for " + str(rainfall[month]) + " :"))) 
    return rainfall 

def lowRain(rainfall): 
    month = ['January','Febuary','March','April','May','June','July','August','September','October','November','December'] 
    lowMonth = min(month) 
    print(lowMonth) 
    for m, n in enumerate(rainfall): 
    if lowMonth: 
     lowMonth = n 
     low = m 
    return month[low], lowMonth 


main() 
+1

为什么不使用字典? – bigbounty

+1

为了充分利用Stackoverflowit对于【提出好问题】(http://stackoverflow.com/help/how-to-ask)很重要,它包括创建一个[Minimal,Complete,and Verifiable](http:/ /stackoverflow.com/help/mcve)示例。 –

+0

什么是降雨量?发布'lowRain'呼叫的一些例子 – RomanPerekhrest

回答

1

你,你之前定义的1号线的月份名称,它总是会导致April阵列上使用lowMonth = min(month)。我猜,你想查哪个月有一个是以前输入的最小降雨量,在这种情况下,你可以这样做:如果你保持降雨量和月份的名字连在一起,那么你可以使用

def lowRain(rainfall): 
    lowest = min(rainfall) 
    index_of_lowest = rainfall.index(lowest) 
    month = ['January','Febuary','March','April','May','June','July','August','September','October','November','December'] 
    lowest_month = month[index_of_lowest] 
    return lowest_month, lowest 
+0

谢谢,你回答了我的问题。 – freddyal

0

min功能:

>>> data 
[(4, 'January'), 
(3, 'Febuary'), 
(10, 'March'), 
(10, 'April'), 
(10, 'May'), 
(10, 'June'), 
(10, 'July'), 
(10, 'August'), 
(10, 'September'), 
(8, 'October'), 
(23, 'November'), 
(10, 'December')] 

>>> min(data) 
(3, 'Febuary') 

这是因为当min比较序列它为了序列比较部件,在这种情况下第一降雨量然后月份名称。结果将始终具有最小的降雨量,如果有多个月具有相同的最小降雨量,您将获得按字母顺序排序的第一个月。

相关问题