我的for循环似乎没有中断for循环并转到下一个d值。当射程为10000时需要0.5秒,当射程为100000时需要0.8秒?但在突破100点之前,这个区间应该不重要。 我的代码是:
import math
d = 1
l = {}
while d < 10:
for y in range(0, 10000):
x = y * math.sqrt(d)
x = round(x)
if x**2 - (d * y**2) == 1:
l[d] = x
print("x: " + str(x) + " d: " + str(d) + " y: " + str(y))
break
d += 1
m = max(l, key=l.get)
print("d", m, " :-: x", l[m])
下面是它的输出:
^{pr2}$
break
工作正常。但是,您并没有找到d
的所有值的解决方案。在将
else:
套件添加到for
循环中,以显示该循环何时未执行break
:哪些输出:
^{pr2}$顺便说一下,
while
循环也可以用for d in range(1, 10):
来代替。在相关问题 更多 >
编程相关推荐