2017-04-04 10 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変数の両方を表示したいです...私はそれが配列IEで最小の整数を表示する必要があります。 print(min(my_array))とその前の変数、その変数は、都市名となりますので...

任意のヘルプまたは右方向にポイントが

答えて

2

いいだろう、私はあなたが個別に代わりcitycitytempのタプルmy_array.append((citytemp, temp))を追加提案します。それは魔法のように動作します:タプルは最初の要素なので、あなたのケース内の温度に応じて意味辞書的に順序付けられているので、これは

>>> 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

ありがとう –

関連する問題