def reverseInteger(x):
x_string = str(x)
x_list = list(x_string)
x_reversedlist = reversed(x_list)
x_reversedstring = "".join(x_reversedlist)
x_reversed = int(x_reversedstring)
return x_reversed
def paliproduct(i1, i2):
while i1 < 1000 and i2 < 1000:
product = i1 * i2
i1 += 1
i2 += 1
if product == reverseInteger(product):
return product
print(paliproduct(100, 100))
我使用Python(这是显而易见的)...我的问题是,为什么外壳没有尝试为i1的至i2所有可能的值(100定位最大的三位数产品 - 这也是一个plaindrome
if product == reverseInteger(product):
return product
如果你想找到:-999),并进行一个轮100和100 ......
'return'将返回_one_值,然后完全停止运行该函数。哦,啊! – 101
,因为你有'return'。所以当你找到第一个匹配时,你基本上退出了paliproduct方法 – Ayman
正如人们所提到的那样,它是'while'循环中的'return'。 (请注意,由于转换回整数,您的'reverseInteger'函数无法像预期的那样以0结尾。) –