ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python中可能存在混合缩进?

2019-11-23 06:09:39  阅读:239  来源: 互联网

标签:cpython indentation python


this问题,我在机器上尝试了OP的代码.这是text version和屏幕截图:

刚刚发生了什么?这应该是平方函数,并且已正确实现.可以肯定的是,我复制粘贴了代码,然后再次尝试:

好吧,我看不到这些版本的Square之间有任何区别,但只有后者有效.

我能想到的唯一原因是我可能混用了制表符和空格,因此return语句实际上是缩进的,因此循环仅执行一次.但是我无法复制它,它看起来像是解释器的混合缩进检查中令人难以置信的缺陷.所以我有两个问题,或者三个:

>我想念什么?
>如果这是混合压痕,那到底是什么呢?
>如果这是混合缩进,为什么解释器没有抓住它?显然,在python中(以及一般而言)缩进的整个思想都是为了避免此类问题.而且让这种事情溜走太重要了.

解决方法:

简单!

def square(x):
    runningtotal = 0
    for counter in range(x):
        runningtotal = runningtotal + x
<tab>return runningtotal

First, tabs are replaced (from left to right) by one to eight spaces
such that the total number of characters up to and including the
replacement is a multiple of eight <…>

因此,最后一行的此选项卡将替换为8个空格,并进入循环.

标签:cpython,indentation,python
来源: https://codeday.me/bug/20191123/2065548.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有