【发布时间】:2013-06-29 04:58:38
【问题描述】:
我正在编写一个简单的算法来检查整数的素数,但我在将这段 Java 代码翻译成 Python 时遇到了问题:
for (int i = 3; i < Math.sqrt(n); i += 2) {
if (n % i == 0)
return false;
}
所以,我一直在尝试使用它,但显然我跳过了除以 3:
i = 3
while (i < int(math.sqrt(n))):
i += 2 # where do I put this?
if (n % i == 0):
return False
【问题讨论】:
-
for (a; b; c) { _ }->a; while(b) { _; c; }- 除非范围界定问题并且必须处理continue。 for-each 构造的最后一个组件在循环体的每次评估之后进行评估。 -
您可能想看看blog.startifact.com/posts/older/what-is-pythonic.html 以将java(或其他语言)翻译成python - 不要忘记成为pythonic!
标签: java python loops for-loop translate