【发布时间】:2017-01-18 18:23:09
【问题描述】:
我想通过使用 python 来解决项目欧拉问题。 但我在执行以下任务时遇到问题:
回文数的两种读法相同。由两个 2 位数字的乘积构成的最大回文数是 9009 = 91 x 99。 找出由两个 3 位数乘积构成的最大回文数。
给定任务的代码:
def palindrome_number():
n=0
lower_range = 100
upper_range = 999
while x >= lower_range or x <= upper_range and y >= lower_range or y <= upper_range:
z = x * y
while z > n:
s = str(x * y)
if s == s[::-1]:
n = x * y
print(n)
现在我不知道如何检查从 100 到 999 的所有 x 和 y 数字。 我认为它必须像我的代码一样,但它不起作用
【问题讨论】:
-
x 和 y 初始化为什么?
-
x 必须大于下限且小于上限,我想从 100 迭代到 999
-
你为什么有一段时间,为什么不只是一个 if,而不是重复计算 x*y 使用 z。你还没有初始化 x 或 y 并且它们没有在哪里增加
-
作为一个提示,“它不起作用”通常是没有用的。尝试包括具体错误、预期行为与您所看到的等等。
-
好的,谢谢,我会提醒以后的问题
标签: python