私はかなりPythonを使い始めていますし、乱数の平均を計算しようとしているロードブロッキングを実行しています。プログラムの一般的な概要は、ユーザーに一定量の辺を入力させ、プログラムが蛇の目を出力するまでロールバックします。また、ダブルロールの量と蛇の目を取得するためにかかった時間を記録します。その後、プログラムを通じて各ダイのために転がった数の平均を作成します。これは私が失われたところです。複数の乱数の平均を計算するPython
編集:私は私の元のコードを削除し、Vasilisの答えで働いていた:彼はそれが最後の番号むしろ、すべてのロールを通して記録されている番号のすべてを取ることはありません指摘のようにしかし
import random
while True:
#prompts user for valid number
user_s = int (input ("How many sides on your dice? "))
if user_s < 3:
print("That is not a valid size value, please enter a positive number")
if user_s >= 3:
break
print()
print("Thanks! Here we go...")
print()
double_count = 0
roll_count = 0
sum1 = 0 # Used to calculate sum of die_1
sum2 = 0 # Used to calculate sum of die_2
while True:
roll_count += 1
die_1 = random.randint(1,user_s)
die_2 = random.randint (1,user_s)
print(roll_count,".", " Die number 1 is ", die_1 , " and die number 2 is ", die_2, ".", sep ="")
if die_1 == die_2:
double_count += 1
if die_1 == 1 and die_2 == 1:
break
# Making sum
sum1 = sum1 + die_1
sum2 = sum2 + die_2
print("You finally got snake eyes on try number", roll_count)
print("Along the way you rolled a double", double_count,"times")
print(die_1)
print(die_2)
# Integer divisions
avg_roll1 = sum1 // roll_count
avg_roll2 = sum2 // roll_count
print("The average roll for die 1 was", format(avg_roll1,".2f"))
print("The average roll for die 2 was", avg_roll2)
を。 それを達成するための助けをいただければ幸いです。
ありがとうございます!
「リスト」は決して整数にはなりません。 'die_1 = [random.randint(1、user_s)]'はリストに追加されていません。古い値(正しいことを分かっている)を*保持するには、リストに追加する必要があります。置き換えないでください。最後に、 'die_1'はすでにリストになっているので、' [die_1] 'はリスト*のリストです。したがって、' sum'は実際には動作しません。 –