0
乱数ジェネレータによって記録された正、負、ゼロを記録する乱数ジェネレータがあります。しかし、私はそれをテストするとき、負の数は記録されず、代わりに正のカウンタに記録されます。私のコード、何か援助に何が間違っているのか分かりませんか?乱数ジェネレータ:カウンタ
from random import randint
posi_counter = 0
nega_counter = 0
zero_counter = 0
avg_counter = 0
# Inputs
num_gen = int(input("How many numbers to be generated? "))
if num_gen > 0:
max_gen = int(input("Enter maximum number to be generated (>0): "))
min_gen = max_gen * -1
print("For {} numbers in the range, {} to {}:".format(
num_gen, min_gen, max_gen))
avg = 0
# Outputs
for x in range(num_gen):
print(randint(min_gen, max_gen))
avg_counter += 1
avg = avg + x
if x > 0:
posi_counter += 1
elif x < 0:
nega_counter += 1
elif x == 0:
zero_counter += 1
average_total = avg/avg_counter
print("{} positive numbers".format(posi_counter))
print("{} zero numbers".format(zero_counter))
print("{} negative numbers".format(nega_counter))
print("{:.1f} average value".format(average_total))
'X'を、原因 '範囲(num_gen)に'常に正です。あなたは 'randint'から生成された値を保持していません。 –
さて、私はあなたの 'avg'変数の名前を' total'に変更します。 (これはランダム変数の平均ではなく、その総和ですが、 'sum'はPythonの組み込み関数なので、悪い選択肢になります 'average_total'は' average'になります。 –