我正在尝试使用 Python 检查回文。我拥有的代码非常for
循环密集。
在我看来,人们从 C 到 Python 时犯的最大错误是尝试使用 Python 实现 C 逻辑,这使得事情运行缓慢,而且没有充分利用语言。
我在这个网站上看到。搜索“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位整数的最高值乘积,这也是一个回文。