我需要的是显示有多少小于N的整数不能被2,3或5分割。我已经设法得到小于N且不能被2,3整除的数字列表或者5但我不能为我的生活让Python实际计算有多少整数。 到目前为止我所拥有的是
N = int(input("\nPlease input a Number "))
if N < 0:
print("\nThere are no answers")
else:
for a in range(1,N+1,2):
if a%3 !=0:
if a%5 !=0:
答案 0 :(得分:2)
试试这个:
N = 20
counter = 0
for a in range(1, N):
if a%2 and a%3 and a%5:
counter += 1
结果将在循环结束时位于counter
。或者更适合@ iCodez答案的发烧友版本:
sum(1 for x in range(1, N) if all((x%2, x%3, x%5)))
=> 6
答案 1 :(得分:1)
您是否尝试过声明全局变量并将其递增?
i = 0
... if a % 5 != 0:
i += 1
print i
答案 2 :(得分:1)
使用list comprehension,all
和len
非常容易做到这一点:
>>> num = int(input(':'))
:20
>>> [x for x in range(num) if all((x%2, x%3, x%5))]
[1, 7, 11, 13, 17, 19]
>>> len([x for x in range(num) if all((x%2, x%3, x%5))])
6
>>>