有人可以帮助我保持我的程序在python中保持一个计数器

时间:2015-04-28 04:03:04

标签: python-3.x

我需要这个程序来生成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()

我可以让程序告诉我,如果最后一个数字是偶数还是奇数但是我不能让它保持所有随机偶数的运行计数。

2 个答案:

答案 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)