我正在尝试用 Python 检查回文。我的代码非常for
-循环密集。
在我看来,人们从 C 转向 Python 时犯的最大错误是尝试使用 Python 实现 C 逻辑,这使得事情运行缓慢,而且没有充分利用该语言。
我看到this网站。搜索“C-style for”,发现Python没有C-style for循环。可能已经过时了,但我将其解释为 Python 有自己的方法。
我尝试环顾四周,但找不到太多最新的(Python 3)建议。如何在不使用 for 循环的情况下解决 Python 中的回文挑战?
我在课堂上用 C 语言完成了这个任务,但我想在个人基础上用 Python 完成这个任务。问题出自欧拉计划,很棒的网站顺便说一句,。
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 进行比较,然后将索引 0+1 与 max-1 进行比较,直到出现某些情况。如何在 Python 中最好地做到这一点?
我的 for 循环(在 (999, 100, -1) 范围内,这是在 Python 中执行此操作的坏方法吗?
有没有人对我这个职位的人有什么好的建议、好的网站或资源?我不是程序员,我也不渴望成为一名程序员,我只是想学得足够多,这样当我写学士学位论文(电气工程)时,我就不必在尝试的同时学习一门适用的编程语言从而在项目中取得良好的效果。 “如何从基础的 C 语言到 Python 的出色应用”之类的事情。
任何能够很好地解决这个问题的具体代码也将受到赞赏,我需要学习好的算法..我设想了 3 种情况。该值是否为零或个位数、奇数长度以及偶数长度。我本来打算写for循环...
PS:问题是:找到两个同样是回文的3位整数的最高值乘积。
确定给定值是否为回文的 Pythonic 方法:
str(n) == str(n)[::-1]
解释:
- 我们正在检查字符串表示是否
n
等于反转的字符串表示形式n
- The
[::-1]
slice 负责反转字符串
- 之后,我们使用以下方法比较相等性
==
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)