乱数リストを作る
乱数リストの要素の最小値を、その最小値+新たに作った乱数に置き換える
N回繰り返す
このとき、新たなリスト
[繰り返し1回目の最小値、繰り返し2回目の最小値、・・・繰り返しN回目の最小値]
を作りたくて、下記のソースコードを作成しました。
python3
1import random 2 3list = [random.randint(0, 10) for i in range(5)] 4print(list) 5 6for i in range(5): 7 where = min(range(len(list)), key=lambda i: list[i]) 8 9 a = random.randint(0,10) 10 11 12 newmin = min(list)+a 13 list[where] = newmin 14 15 listmin = [] 16 listmin.append(min(list)) 17 18 print(list) 19 20print(listmin) 21
しかし、出力結果にN回目の繰り返しのときの最小値しか出てきません。
例えば上のコードの出力結果はこんな感じです。
[8, 4, 5, 4, 6]
[8, 13, 5, 4, 6]
[8, 13, 5, 13, 6]
[8, 13, 10, 13, 6]
[8, 13, 10, 13, 12]
[8, 13, 10, 13, 12]
[8]
理由は何となくわかってはいますがどうやって直したらいいかわかりません。
どなたか教えてくださるとうれしいです!!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/14 13:58