我需要这个程序来生成100个数字,然后计算有多少个均衡器。由于某种原因,我在计算部分遇到了麻烦。
import random
def main():
for x in range(101):
number = random.randint(1, 100)
print(number)
evenNum = even(number)
print("Total amount of even numbers: ", evenNum)
print("Total amount of odd numbers: ", 100 - evenNum)
def even(number):
count = 0
if (number % 2) == 0:
status = True
else:
status = False
if status == True:
count = count + 1
return count
main()
我可以让程序告诉我,如果最后一个数字是偶数还是奇数但是我不能让它保持所有随机偶数的运行计数。
答案 0 :(得分:0)
每次运行函数count
时,变量even
都会设置为0。
将此计数器变量移至main
。
你也可以非常简洁地写下你正在做的事情:
num_even = sum(random.randint(1, 100) % 2 == 0 for _ in range(101))
答案 1 :(得分:-1)
使用Counter类:
import collections
import random
cnt = collections.Counter()
for i in range(101):
number = random.randint(1, 100)
if number % 2 == 0:
cnt['even'] += 1
else:
cnt['odd'] += 1
print(cnt)