我正在尝试使用Python检查回文.我的代码非常for
密集.
在我看来,从C到Python的最大错误是尝试使用Python实现C逻辑,这使得事情运行缓慢,并且它只是没有充分利用语言.
我在这个网站上看到了.搜索"C-style for",Python没有C风格的循环.可能会过时,但我将其解释为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
Run Code Online (Sandbox Code Playgroud)
我在这里遗漏了很多代码.五个哈希只是我自己的提醒.
具体问题:
在C中,我会创建一个for循环,将索引0与索引max进行比较,然后使用max-1索引0 + 1,直到某事为止.如何在Python中做到最好?
我的for循环(在范围(999,100,-1)中,这是用Python做错的方法吗?
有没有人对我的职位有任何好的建议,好的网站或资源?我不是程序员,我不想成为一名程序员,我只想学习足够的东西,这样当我写完学士学位论文(电子工程)时,我不必同时学习适用的编程语言在项目中取得好成绩."如何从基本的C转到Python的伟大应用",那种事情.
任何特定的代码都可以很好地解决这个问题,我需要学习好的算法.我正在设想3种情况.如果值为零或单个数字,如果它是奇数长度,如果它是偶数长度.我打算为循环写...
PS:问题是:找到两个3位整数的最高值乘积,它也是一个回文.
我想要一个介于1到6之间的四个值的表.
我正在使用: rand() % 6 + 1;
这应该给出1到6之间的值.
除非rand()
生成值0.
我一直得到7分.我不想要任何7个
兰德的范围是多少?我如何阻止它生成任何0值?
替代解决方案非常受欢迎.
我的老师给了我们使用"随机"的线索.
我们在学校使用Borland C++ Builder 5.
我在家里使用Dev-C++ 5.3.0.3.
我发现它们如何工作有一些差异,我觉得很奇怪..
我不能使用random(),它给了我未在范围内声明...
int main (){
int I;
int Fasit[3];
srand (time(NULL) );
for(I=0; I<4; I++) {
Fasit[I]=rand() % 6 + 1;
}
std::cout << Fasit[0] << " " << Fasit[1] << " " << Fasit[2] << " " << Fasit[3] << " ";
return 0;
}
Run Code Online (Sandbox Code Playgroud)我得到的一些价值观:
2 6 1 7
5 2 1 4
5 2 1 4 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试用Python创建一个主要的筛子.
我从制作一个从2到2000的列表开始.我想用支票迭代所有素数,并从列表中删除所有素数的倍数.
我还没有绕过素数循环,但是我有一个方法从数字2开始,并删除它的所有倍数.
primes=list(range(2,2001))
p=2
while p<len(primes):
for x in range (p*p, len(primes), p):
primes.remove(x)
print(primes)
Run Code Online (Sandbox Code Playgroud)
印刷品:[...] 1989,1991,1993,1995,1997,1999,2000]
正如你所看到的,2000号仍然存在,它不应该存在.
Traceback (most recent call last):
File "C:/Users/Are/PycharmProjects/Project Euler/10.py", line 8, in <module>
primes.remove(x)
ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)
我的推理有什么问题?
我正在使用PyCharm,有没有办法让我在错误时打印x的值?