Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在学习python,在这个问题上陷入了困境。当数字为回文而不是返回True时,代码将返回None_Python_Python 3.x - Fatal编程技术网

我正在学习python,在这个问题上陷入了困境。当数字为回文而不是返回True时,代码将返回None

我正在学习python,在这个问题上陷入了困境。当数字为回文而不是返回True时,代码将返回None,python,python-3.x,Python,Python 3.x,当数字为回文而不是返回True时,代码将返回None def is_palindrome(n): string = str(n) length = len(string) if length%2 == 0: for k in range(0, int(length/2)): if string[k] == string[length-k-1]: continue re

当数字为回文而不是返回True时,代码将返回None

def is_palindrome(n):
    string = str(n)
    length = len(string)

    if length%2 == 0:
        for k in range(0, int(length/2)):
            if string[k] == string[length-k-1]:
                continue
                return True
            else:
                return False

    if length%2 != 0:
        for k in range(0, int(length/2)):
            if string[k] == string[length-k-1]:
                continue
                return True
            else:
                return False

print(is_palindrome(1221))

我知道你是怎么做的,我不知道你是否希望我保留你的解决方案的方法,但这里有一个更简单的方法,你可以解决这个问题

def pal(x):
    if str(x) == (str(x)[::-1]):
        return True
    else:
        return False

此函数仅检查给定的数字是否相同。希望这有帮助。对于您的方法,问题可能与您使用的“continue”有关,我个人不太使用“continue”,尽管我知道它可能非常有用。

由于continue的原因,永远无法返回True。如果您还没有返回False,那么您可能还希望在循环结束时返回True;返回真应该是什么意思?continue立即跳转到最内部循环的开头,并且控件永远不会到达return True学习使用调试器:甚至更短:return strx==strx[::-1]感谢您的帮助,这让我的代码非常有用easy@Matthias哇,真不敢相信我错过了,谢谢你的升级。