1

ユーザーに都市を入力してからそこの温度を入力するように求めるプログラムを作成する必要があります。都市と気温はスペースで区切ります。ユーザーが「stop」と入力すると、プログラムは入力を求めるのをやめ、最も寒い都市を報告します。ユーザーが都市を入力し、その後に 1 つのスペースを入力し、次に温度を入力すると常に想定できます。

Sample Output:

Enter city followed by temperature > Edmonton -2
Enter city followed by temperature > Toronto 3
Enter city followed by temperature > Vancouver -1
Enter city followed by temperature > Ottawa -3
Enter city followed by temperature > stop
{'Toronto': 3, 'Edmonton': -2, 'Vancouver': -1, 'Ottawa': -3}
The coldest city is Ottawa -3

私が抱えている問題は、入力された項目を辞書形式に取得する方法です。入力した項目にあるスペースでどのように機能するかわかりません。スペースを含む入力でこの形式に従う他の3つのプログラムがありますが、実際にそれを解決する方法を見つけたり見つけたりすることはできません。どんな助けでも大歓迎です。

PS: 私は初心者向けのコンピューティング サイエンス コースに参加しています。

4

3 に答える 3

1

メソッドを使用して、入力をキー部分と値部分に分割する必要がありますsplit()

于 2013-04-02T00:25:34.833 に答える
0

ipython セッションの例:

In [1]: a = raw_input('City temp: ')
City temp: Edmonton -2

In [2]: a
Out[2]: 'Edmonton -2'

In [3]: d = {}

In [4]: a = a.split()

In [5]: d[a[0]] = a[1]

In [6]: d
Out[6]: {'Edmonton': '-2'}

これを行うには、明らかにもっとPythonicな方法があります。ドキュメントを読むことでそれらを解決できます

幸運を!

于 2013-04-02T00:29:20.153 に答える
0

使用したいstring.split()

d = {}
for i in range(5):
    user = input('Enter city followed by temperature') 
    # use raw_input(prompt) if using Python 2.x
    data = user.split()
    d[data[0]] = int(data[1])

または、各ペアをタプルとしてリストに追加してから、dict()関数を使用することもできます。

dataPoints = []
for i in range(5):
    user = input('Enter city followed by temperature')
    data = user.split()
    dataPoints.append((data[0], int(data[1])))
d = dict(dataPoints)
于 2013-04-02T00:30:21.713 に答える