我正在努力解决这个问题
回文数字两种方式相同。由两个2位数字的乘积制成的最大回文是
9009 = 91 × 99.
下面是我用来查找数字是Palindrome的代码。
#largest product of two digit no.s which is a palindrome eg 91*99 = 9009
def check_palindrome(str):
x = len(str)
for i in range(x//2):
if str[i] == str[x-1-i]:
flag = 0
else:
flag = 1
if flag== 0:
print "palindrome"
else:
print " not palindrome"
check_palindrome('9009')
i= 91
j= 99
product = i* j
print product
check_palindrome('product')
当我在计算产品后调用函数check_palindrome()时,程序会给出错误的输出,而在单独调用时会给出正确的输出。
答案 0 :(得分:4)
您正在将文字字符串 "product"
传递给您的回文函数,这不是回文:
check_palindrome('product')
删除单引号并转换为字符串:
check_palindrome(str(product))
传递表示product
中存储的整数的字符串。
顺便说一句,这是一种测试字符串是否为回文的简单方法:
def check_palindrome(s):
return s == s[::-1]
将字符串s
的反向与自身进行比较。如果两者相等,它就是一个回文。