前提・実現したいこと
最頻値を求めるプログラムを作りたいです。
しかし、if文,for文などの基本的な文法のみで作りたいです。
重複してしまうところを直したいです。
また、最頻値を求めるにはどうすればよいでしょうか?
お願いします
python
1box=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10,10, 20, 20, 20, 20] 2saihin = 0 3n=len(box) 4Already_counted=[] #→ 個数を数えたbox内の数字を記録するためのリスト 5for_count=0 # →for文の処理した回数を記録しておく変数 6for sai in box: 7 sai = box[n-1] 8 if for_count==0: #→for文を最初に処理する時 9 10 saihin = [b for b in box if b == sai] 11 print(saihin) 12 print(len(saihin)) 13 Already_counted.append(sai) #→ box内に含まれる個数を数えた数字を記録しておく 14 else:#→for文を2回目以降処理する時 15 if not sai==Already_counted: #→ saiがAlready_countedに含まれていない場合 16 saihin = [b for b in box if b == sai] 17 print(saihin) 18 print(len(saihin)) 19 Already_counted.append(box) #→ box内に含まれる個数を数えた数字を記録しておく 20 21 n=n-1 22 for_count = for_count+1 23
発生している問題・エラーメッセージ
結果が以下のようにでます。 [20, 20, 20, 20] 4 [20, 20, 20, 20] 4 [20, 20, 20, 20] 4 [20, 20, 20, 20] 4 [10, 10] 2 [10, 10] 2 [9] 1 [8] 1 [7] 1 [6] 1 [5] 1 [4] 1 [3] 1 [2] 1 [1] 1
該当のソースコード
ソースコード
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/03 05:59 編集