【发布时间】:2018-11-12 13:23:39
【问题描述】:
是的,我知道那里有很多这样的问题,而且我的问题可能已经在我没见过的地方得到了回答。但是,我仍然有困难,不知道该怎么做。
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;
问题是嵌套迭代不起作用,它到达'here 1',仅此而已。我还打印了 y 和 i- ,它们打印了正确的值,但它似乎什么也没做。
非常感谢那些帮助-请耐心等待,我更喜欢 Javascript。
【问题讨论】:
-
你没有说困难是什么,你没有问过一个问题,你没有描述它是如何不令人满意的。您是否尝试过在战略位置打印变量、比较结果和其他内容以查看可能发生的情况?
-
您遇到的困难究竟是什么?这段代码有效吗?或者你想让它产生别的东西?
-
Python 不需要在语句末尾使用分号,Python 编码人员阅读时可能会觉得这很烦人,而且最重要的是,您将它们随机分散在语句子集上。这是一个风格评论,不是你的问题。
-
欢迎来到 SO,请花时间阅读 How to Ask 以及该页面上的其他链接。因为你的问题有点太宽泛了。专注于您的代码可能行为不端的一种方式并询问它。如果您找到了该问题的解决方案但仍然存在问题,请尝试找出答案,然后提出一个新问题。
-
如所写,您的内部循环将永远不会运行 - 该循环的比较是否按照您认为的方式运行? ;看起来你试图通过只搜索一半的搜索空间(使用
halfI)来进行优化,可能会简化并删除所有这些逻辑,看看它是否会工作,用maximum_range的小值进行测试。