计算字符串中有多少单个整数,Python 3

时间:2013-11-26 20:58:45

标签: python python-3.x counting

我需要的是显示有多少小于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:

3 个答案:

答案 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 comprehensionalllen非常容易做到这一点:

>>> 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
>>>