【发布时间】:2021-01-14 04:18:04
【问题描述】:
def prime_count(a, b):
for i in range(a,b):
if i % 2 != 0:
return sum(i)
else:
return 0 "
我是一名初级程序员,我一直在练习 Edabit 上的一些挑战,小问题但需要一些思考(对我来说)。
我正在尝试计算a 和b 上有多少个素数,它们已经是整数并且没有用户输入。
我还不太擅长循环,并认为这将是一个很好的练习挑战,我做错了什么?我不断收到int object is not iterable
如果需要参考,这里是挑战的链接。 链接:https://edabit.com/challenge/6QYwhZstMuHYtZRbT
【问题讨论】:
-
你正在调用
sum(),这是一个内置的,它接受一个可迭代的,带有一个整数(不可迭代)参数。另外,您能否详细说明您要实现的目标?这对我来说似乎不算素数。 -
我正在尝试遍历
a和b。两者都应该是整数,例如(1,10),所以我将遍历(1,10)并返回(1,10)范围内有多少质数。 -
质数是自然数,只有 1 和它们自己作为除数。因此,您需要创建一个循环,将每个数字除以自身和 2 之间的所有其他数字,然后根据结果将其计为素数或不计为素数。不能对整数调用 sum,需要修改函数的逻辑。
-
你希望
sum(i)做什么? -
我期待
sum(i)返回素数的计数。