我正在学习 python 并且正在做这些练习,特别是关于回文产品的这个练习。
我有两个数字,我想减 1,但以交替的方式:
999, 999
998, 999
998, 998
997, 998
997, 997
...
我已经用 4 个 if 语句解决了这个问题,但我认为这有点草率。有没有更好的办法?下面是代码:
palN1 = 999
palN2 = 999
def palin(palN1, palN2):
pal = palN1 * palN2
while str(pal)[::-1] != str(pal):
if palN1%2 == 0 and palN2%2 == 0:
palN1 += -1
pal = palN1 * palN2
elif palN1%2 != 0 and palN2%2 == 0:
palN2 += -1
pal = palN1 * palN2
elif palN1%2 != 0 and palN2%2 != 0:
palN1 += -1
pal = palN1 * palN2
elif palN1%2 == 0 and palN2%2 != 0:
palN2 += -1
pal = palN1 * palN2
print [palN1, palN2]
print str(pal)
if __name__=="__main__":
palin(palN1, palN2)
顺便说一句,我得到的练习结果是 [836,836],它是产品 698896。这是我的第一篇文章,如果我做错了什么,请见谅。