Python素

2024-03-29 04:39:26 发布

您现在位置:Python中文网/ 问答频道 /正文

是的,我知道那里有很多这样的问题,我的问题可能已经在我没见过的地方得到了答案。但是,我仍然有困难,不知道该怎么办。你知道吗

maximum_range = int(input('How big do you want the range?'));
i = 3;
checkPrime = True;
while (i <= maximum_range):
    y = 2;
    print('i {}'.format(i))
    print('y {}'.format(y))
    halfI = int((i/2)+ 1)
    checkPrime = False;
    while (y <= halfI & checkPrime):
        y += 1
        if (i%y == 0):
            print('{} is not prime because it is divisible by' .format(i))
            checkPrime = False;
    i += 2
    if (checkPrime & y == halfI):
        print('{}s is prime' .format(i))   
    checkPrime = True;

问题是嵌套迭代不起作用,它达到了“here1”,就这样。我还打印了y和I,它们打印了正确的值,但它似乎什么也没做。你知道吗

非常感谢那些帮助-请耐心,我更喜欢Javascript。你知道吗


Tags: 答案falsetrueformatifis地方range
1条回答
网友
1楼 · 发布于 2024-03-29 04:39:26

您已经理解了python的运算符:

正如这里指出的:https://docs.python.org/3/reference/expressions.html#binary-bitwise-operations

The operator & yields the bitwise AND of its arguments, which must be integers.

您应该使用“and”逻辑运算符。你知道吗

您应该关心的另一件事是运算符优先级:https://docs.python.org/3/reference/expressions.html#operator-precedence

关于代码的逻辑,只要你发现了新的素数,你就可以用它们来除(执行模运算)快得多(步骤更少),因为每个数都可以分解成一个素数因子积。我不给你举一个例子,因为我不知道你想要达到什么,如果你举一个例子,你需要什么我可以做到。你知道吗

相关问题 更多 >