n = 0
for a in xrange(999, 100, -1):
for b in xrange(a, 100, -1):
x = a * b
if x > n:
s = str(a * b)
if s == s[::-1]:
n = a * b
print n关于the problem的这个解决方案,我有一个问题。我知道这是正确的,但我想知道为什么在xrange(999,100,-1)中-1是针对a和b For循环的。请解释一下。我对此还很陌生:)
发布于 2011-05-18 06:41:27
xrange()的第三个参数是增量值。默认值为1,这意味着计数器将以递增的方向计数。要以递减方向计数,请使用-1。您的a计数器将从999变为101 ( xrange()迭代器在到达第二个参数值之前停止)。
有关将来的参考,请参阅xrange() documentation。
发布于 2011-05-18 06:41:21
-1指定了一个负步骤。因此从999下降到100 (独占)。
发布于 2011-05-18 06:44:46
xrange函数有三个参数:start、stop和step。它返回一个从start到stop的数字范围,但不包括它。如果'start‘大于stop,则必须提供负步长。
所以基本上xrange(999, 100, -1)会给你[999, 998, ..., 101]
https://stackoverflow.com/questions/6037973
复制相似问题