lower = int(input())
upper = int(input())
odd = 0
even = 0
prima = 0
for i in range(lower, upper+1):
if i % 2 == 0:
even += 1
else:
odd += 1
if i > 1:
for j in range(2, i):
if (i % j) == 0:
break
else:
prima += 1
print(prima, even, odd)
我写了这段代码。至于奇数和偶数 - 一切正常。但是对于素数,它给出了错误的答案。告诉我有什么问题。谢谢你。
您需要更改检查数字是否为素数的条件。以前,如果一个数字不能被 2 整除,您会立即认为它是正确的。
实际上,你需要
else为循环写一个块,即在 2 行上按 tab 删除。这就是它的工作方式:PS为了简单起见测试一个数字,只需从2到该数字的平方根进行排序就足够了