【发布时间】:2018-12-25 04:26:31
【问题描述】:
我在 Python 中运行这段代码:
#Finding prime numbers
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
# loop fell through without finding a factor
else:
print(n, 'is a prime number')
输出如下:
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
让我们假设以下迭代正在进行:
n=3, x=n
n%x 的值是多少?
如果是== 0那为什么我们没有得到
print(n, 'equals', x, '*', n//x)
【问题讨论】:
-
你试过了吗?而你确实似乎明白这一点。这不就是
9 equals 3 * 3吗? -
我要的是 n=3 而不是 n=9。整个问题是我不知道括号排除了最后一个数字。现已解决。
标签: python python-3.x jupyter-notebook modulo