ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何使用Python逻辑检查回文

2019-09-15 13:56:01  阅读:166  来源: 互联网

标签:palindrome python string


我正在尝试使用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]切片负责反转字符串
>之后,我们使用==比较相等性

标签:palindrome,python,string
来源: https://codeday.me/bug/20190915/1804977.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有