如何使用Python逻辑检查回文

我正在尝试使用Python检查回文.我的代码是非常强制循环的.

在我看来,从C到Python的最大错误是尝试使用Python实现C逻辑,这使得事情运行缓慢,并且它只是没有充分利用语言.

我在this网站上看到了.搜索“C-style for”,Python没有C风格的循环.可能会过时,但我将其解释为Python有自己的方法.

我试过四处寻找,我找不到最新的(Python 3)建议.如何在不使用for循环的情况下解决Python中的回文挑战?

我在课堂上用C语言完成了这个,但是我想在Python中以个人为基础.问题是从Euler Project,伟大的网站顺便说一句.

def isPalindrome(n):
    lst = [int(n) for n in str(n)]
    l=len(lst)
    if l==0 || l==1:
        return True
    elif len(lst)%2==0:
        for k in range (l)
        #####
    else:
        while (k<=((l-1)/2)):
            if (list[]):
                #####   

for i in range (999, 100, -1):
    for j in range (999,100, -1):
        if isPalindrome(i*j):
            print(i*j)
            break

我在这里遗漏了很多代码.五个哈希只是我自己的提醒.

具体问题:

>在C中,我会创建一个for循环,将索引0与索引最大值进行比较,然后使用max-1索引0 1,直到某事为止.如何在Python中做到最好?
>我的for循环(在范围内(999,100,-1),这是用Python做错的方法吗?
>有人对我的职位有任何好的建议,好的网站或资源吗?我不是程序员,我不想成为一名程序员,我只想学习足够的知识,这样当我写学士学位论文(电子工程)时,我不必同时学习适用的编程语言.在项目中取得好成绩. “如何从基本的C转到Python的伟大应用”,那种事情.
>任何特定的代码都可以很好地解决这个问题,我需要学习好的算法.我正在设想3种情况.如果值为零或单个数字,如果它是奇数长度,如果它是偶数长度.我打算为循环写…

PS:问题是:找到两个3位整数的最高值乘积,也是一个回文.

解决方法:

确定给定值是否为回文的pythonic方法:

str(n) == str(n)[::-1]

说明:

>我们正在检查n的字符串表示是否等于n的反向字符串表示
> [:: – 1]切片负责反转字符串
>之后,我们使用==比较相等性

上一篇:CodeForces-1238D-AB-string CodeForces-思维+字符串反向思考


下一篇:2019.9.23JAVA课堂测试