2017-04-04 35 views
0

我有一些代碼要求用戶輸入,然後將其添加到數組中,用戶輸入他/她的輸入後,然後選擇最低的整數並顯示它。打印號碼和它在Python中的變量

my_array = [] 
while numberoftries <= numberofcities: 
    print("Please enter city", numberoftries) 
    city = input("") 
    print("Please enter the temprature for city", numberoftries) 
    citytemp = input("")  

    my_array.append(city) 
    my_array.append(citytemp) 

    print(my_array) # For testing 
    print(min(my_array)) # For testing 

    numberoftries = numberoftries ++ 1 

唯一的問題是,我想同時顯示城市和citytemp變量,都將被添加到陣列中...我需要它的陣列即顯示最低的整數。 print(min(my_array))和之前的變量,因爲該變量將是城市的名字..

任何幫助或在正確的方向點會是不錯

回答

2

我建議你追加的元組my_array.append((citytemp, temp))而不是citycitytemp分開。它會像一個魅力:

>>> min([(2,'toto'), (0,'tutu'), (1,'tata')]) 
(0, 'tutu') 

這工作,因爲元組進行排序,根據第一要素按字典的意思,所以你的情況下。

可以檢索像這樣爲好信息:

min_temp, min_city = min(my_array) 
print min_city, "has lowest temperature:", min_temp 

還請注意,你必須要小心,不要混淆整數和字符串,'13'13和字符串比較可能會導致意想不到的結果:

>>>'25'<'Paris' 
True 

>>>'25'<' Paris ' 
False 
+0

非常感謝 –