【发布时间】:2020-01-28 21:03:32
【问题描述】:
我最近开始学习 python,我正在努力解决我给自己的这个难题:寻找素数
我相信还有更优雅的方式,但我更愿意以这种方式来学习列表和 for in range 的交互方式。
我有一个素数列表:
prime_list = [2, 3, 5, 7]
还有一个检查每个奇数的范围列表:
for attempt in arange(9.0, 100.0, 2.0):
现在,最理想的情况是我想做以下操作:
- 从 prime_list 中,使用 >= 尝试平方根的所有数字(第一种情况下为 9)
- 检查是否 9 / 2 != int
- 检查是否 9 / 3 != int
- 如果至少 1 为 TRUE,则移动到下一个尝试编号 11 并重复步骤
- 如果没有为真,则中断并打印数字
到目前为止我只能想出下面这段代码,我必须手动输入 2 然后 3 并让逻辑检查自己...
from numpy import arange
prime_list = [2, 3, 5, 7]
for attempt in arange(9.0, 100.0, 2.0):
prime_check = attempt / 2
if int(prime_check) != prime_check:
print(prime_check)
break
print(attempt)
感谢您的帮助和提示!
【问题讨论】:
-
你为什么用
arange()而不是range(),用浮点数而不是整数? -
您希望
for prime in prime_list:尝试每个。