如何在Python上大量计算特定的数字(不是列表)



我有一个程序,可以生成从-10到10的随机数。我的任务是计算从1到5的元素在这个巨大的元素中有多少。问题是我不能使用计数器或其他函数,因为CCD_ 1。我可以使用哪些功能来修复它?

import random
for i in range(51):
a = random.randint(-10, 10)
print(a)

您绝对可以使用collections.Counter进行以下操作:

import random
import collections
c = collections.Counter(random.randint(-10, 11) for i in range(51))
print(c)
# Counter({-9: 7, 10: 7, -5: 5, 8: 3, 1: 3, -10: 3, -4: 3, -7: 3, 5: 3, 0: 3, -3: 2, 6: 2, 4: 2, 9: 2, 3: 1, -6: 1, 2: 1})
n = sum(c[i] for i in range(1,6))  # number of elements between 1 and 5
print(n)
# 10

您可以尝试这样的操作,如果随机int15的范围内,则对1求和,并且此操作会运行51次。最后,打印出这笔款项。

import random
print(sum(1 for i in range(51) if random.randint(-10, 11) in range(1, 5)))

上述段相当于:

import random
a = 0
for i in range(51):
if random.randint(-10, 11) in range(1, 5):
a += 1
print(a)

最新更新