python 《python基础教程》if else 的问题,这里的else为何不是和if对齐的???

如题所述

这条else语句对应的是for,不是if,这个是python特有的语句。
即在for 循环中,如果没有从任何一个break中退出,则会执行和for对应的else
只要从break中退出了,则else部分不执行。
这段话如果用C++来实现,如下,你比较一下就知道for-else的用处了。
for(i=99;i>81;i--)
{
n=sqrt(i);
if(n==int(n))
{
cout<<i;
break;
}
}
if(i==81) //边界判断
cout<<"didn't find it!"<<endl;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-18
这是python强大的地方,下面的这个else并不是上面那个if的分支,然后上面整个for loop的分支,你可以把上面的for看做是一个if。
你把range改一下,改成(99,80,-1)你就能看到不同的结果了。