2016-05-24 13 views
-3

私は、次のコードを書き、このコードが実行されると、出力がランダムな順序でこのfor..in ..印刷辞書

1のようである:33.75パーセント

ゼロ:32.98パーセント

2を:33.27%

私の質問は、なぜそれが秩序ではなく、どうすればいいのですか?

import random 
a=0 
dict = {"zero":0,"one":0,"two":0} 
while a < 10000: 
    a +=1 
    b = random.randrange(0,3) 
    if b == 0: 
     dict["zero"] += 1 
    elif b == 1: 
     dict["one"] += 1 
    elif b == 2: 
     dict["two"] += 1 
for item in dict: 
    dict[item] /= 100 
    dict[item] = str(dict[item])+"%" 
    print(item + ":" + dict[item]) 
+0

辞書には注文がありません。 –

答えて

5

通常の辞書には注文がありません。代わりに、collectionsモジュールのOrderedDictを使用してください。

import collections 

key_value_pairs = [('zero', 0), 
        ('one', 0), 
        ('two', 0)] 

dict = collections.OrderedDict(key_value_pairs) 

次に、上記のようにすべてを行うことができます。

関連する問題