■ 乱数を用いてその日の運勢を出力する関数omikuji
を作成し,繰り返し実行することで運勢が想定した
確率となっていることを確認するプログラムを作成
せよ
|運勢|想定運勢|
|大吉 | 23% |
|中吉 | 10% |
|小吉 | 13% |
|吉 | 24% |
|末吉 | 19% |
|凶 | 11% |
python
1実行例: 2 3試行回数: 10000⏎ 4凶: 11% 5吉: 24% 6大吉: 23% 7末吉: 19% 8小吉: 13% 9中吉: 10%
回答例がこれで。
python
1import random as ra 2n1 = 0 3n2 = 0 4n3 = 0 5n4 = 0 6n5 = 0 7n6 = 0 8n = int(input("試行回数: ")) 9for i in range(1,n+1): 10 r = ra.randint(1,100) 11 if 1 < r <= 23: 12 n1 += 1 13 if 24 <= r <= 33: 14 n2 += 1 15 if 34<= r <= 46: 16 n3 += 1 17 if 47 <= r <= 71: 18 n4 += 1 19 if 72 <= r <= 90: 20 n5 += 1 21 if 91 < r <= 100: 22 n6 += 1 23print("大吉: "+str(n1/n*100)+"%") 24print("中吉: "+str(n2/n*100)+"%") 25print("小吉: "+str(n3/n*100)+"%") 26print("吉: "+str(n4/n*100)+"%") 27print("末吉: "+str(n5/n*100)+"%") 28print("凶:"+str(n6/n*100)+"%")
これが私が実際に組んだプログラムです。
回答例通りにならないのと、私のだと関数omikujiという関数が定義できていません。
どうすれば回答例のようになりますか。
https://teratail.com/questions/h4e35bxjmuuckq
自力で解決したはず。
すみません。
出来ていませんでした。
質問は何でしょうか?
> 出来ていませんでした。
実質同じ内容の新しい質問を作るのではなく、元の質問を編集してください
https://teratail.com/help/avoid-asking
の「過去に投稿した質問と同じ内容の質問」を見てください
https://teratail.com/help/question-tips
の「3-1. タイトルには要件を書きましょう」を見てください
https://teratail.com/users/natu?feed=question
まあ、すでに質問されていますが、質問の内容がわかりません。
「回答例通りにならない」 とはどういう問題があるのですか?
自分のプログラムの表示の例と、その問題を具体的に示してください。
今のコードを手元で走らせましたが、(乱数を使う以上、結果は全く同じにはなりませんが、ちゃんと結果が出るという意味で)プログラム自体はちゃんと計算できるようです。あとはomikuji関数の定義ですね。
関数の定義方法はここにあります。
https://www.python.jp/train/function/index.html#%E9%96%A2%E6%95%B0%E3%81%AE%E5%AE%9A%E7%BE%A9
もう少しで完成と思います。