[英]Random number generator: counter
我有這個隨機數發生器來記錄由隨機發生器記錄的正數,負數和零。 但是,當我測試它時,不會記錄負數,而是記錄在正計數器中。 我看不到代碼有什么問題,需要任何幫助嗎?
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
來自range(num_gen)
,所以它總是>= 0
,而是這樣做:
for _ in range(num_gen):
x = randint(min_gen, max_gen)
print(x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.