python 《python基础教程》if else 的问题,这里的else为何不是和if对齐的??? python的基础问题 if else 语句?
\u4ee5\u4e0bPython\u4ee3\u7801else\u4e3a\u5565\u6ca1\u548cif\u5bf9\u9f50\uff0c\u8fd9\u91ccelse\u8d77\u4ec0\u4e48\u4f5c\u7528\u8fd9\u4e2aelse\u662f\u8ddfif\u91cc\u9762\u7684for\u90fd\uff08py\u7684\u4e00\u4e2a\u8bed\u6cd5\uff09\u3002\u5c31\u662f\u5f53for\u5faa\u73af\u4e0d\u662fbreak\u9000\u51fa\u7684\u65f6\u5019\u5c31\u4f1a\u8fd0\u884celse\u7684\u4ee3\u7801
a += 1 if N % i == 0 else 0
这条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;
这是python强大的地方,下面的这个else并不是上面那个if的分支,然后上面整个for loop的分支,你可以把上面的for看做是一个if。
你把range改一下,改成(99,80,-1)你就能看到不同的结果了。
扩展阅读:pubmed官方官网入口 ... pantone色卡官网入口 ... photoshop永久免费版 ... b站必看的300视频 ... photoshop免费网站入口 ... ph应用免费下载 ... b站在线观看人数在哪 ... python for beginners ... python网站入口免费 ...