我是 python 的初学者,我试图找到所有可以除以 8 的数字
例如:
A range from 0-300
要获取两个数字之间的数字列表,请使用该range()
函数。
要检查一个数字是否可以除以 8(我假设没有余数),请使用模运算符。例如:
>>> 4 % 3
1
>>> 16 % 8
0
这将返回第一个数字除以第二个数字的余数。
现在尝试编写一些代码。如果您遇到问题,请随时提出另一个问题来说明您的尝试。
而不是通过检查来做到这一点:
for each number from 0 to 300, test if divisible by 8
说
0 is divisible by 8
All numbers bigger by a factor of 8 (8, 16, 24, 32, ...) are also divisible by 8
这导致你显而易见
step from 0 to 300 in increments of 8
我们可以用范围来做。例如。找出能被 5 整除的 0 到 50(不包括 50)的所有数字:
# range(start, stop, step)
range(0, 50, 5)
像这样的东西会给你一个 0 到 300 之间可以被 8 整除的数字列表:
[x for x in xrange(300) if x % 8 == 0]
像这样使用模运算符
80%8
>>> 0
160%8
>>> 0
如果数字可整除且没有余数,它将返回零
或者您可以range()
通过执行使用 step 选项range(0, 300, 8)