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网站入口免费 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网