python 代码的缩进位置决定执行部分
通过近期的代码训练,我发现同样的一个语句,在同一行缩进的位置不同,决定的执行部分也不同。先给一个例子(我想打出1-100中的前20个偶数)



比较第一张图和第二张图。第一张截图实现了我想要的功能。可是当我把“sum+=1”进了一个tab键时,只打出来了前十个偶数(第二张截图)。
比较第一张图和第三张图。把“i+=1”后退了一个tab时,运行为空。
这是为什么呢?是因为python对缩进有着严格的要求,所以决定了代码的运行。
图二把“sum+=1”进了一个tab,使其与if对齐,那么“sum+=1”就不再是if里面的子语句(图一每当print执行一次,“sum+=1”才执行一次。所以sum=20时,print执行了20次,while执行了40次,结束时i=40。所以输出前20个偶数),而是与if平行,每当while语句执行一次,“sum+=1”就执行一次。执行20次后sun=20,i=20.所以循环结束时print只执行了10次。
至于图三与上述类似,“i+=1”后退了一个tab,就成了 if 语句里面的一个子语句,i 的值定义为1,可是不满足if语句的条件,也就无法执行“i+=1”,所以 i 始终为1,程序执行结果为空。
python 代码的缩进位置决定执行部分的更多相关文章
- python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused
		
python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...
 - pycharm运行Pytest,有没有将Pytest写入Python代码中的区别
		
初学pytest. 将pytest写进Python代码中 不同运行方式都可正常运行 =======================**********************========= ...
 - 让Chrome浏览器抓包接口数据秒变 python 代码
		
简介 uncurl是一个库,允许您将curl请求转换为使用requests 的python代码.由于Chrome网络检查器具有的“copy as cURL”,因此该工具对于用python重新创建浏览器 ...
 - Python代码缩进与测试模块
		
一.Python代码缩进 Python 函数没有明显的 begin 和 end ,没有标明函数的开始和结束的花括号.唯一的分隔符是一个冒号 ( : ),接着代码本身是缩进的. 例如:缩进 bui ...
 - python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_
		
2018-03-28 00:56:39 中断正在执行的代码 无论是%run执行的脚本还是长时间运行的命令ctrl + cIn [1]: KeyboardInterrupt 执行剪切板中的代码 ctrl ...
 - python代码缩进
		
习惯了java,c++之类的宽容,初学python,被它摆了道下马威,写if else,竟然必须要我正确用缩进格式,原来在python里不能用括号来表示语句块,也不能用开始/结束标志符来表示,而是靠缩 ...
 - python - 代码缩进
		
# -*- cording :utf-8 -*- # print absolute value of an integer a = 40 b = 1 if a >=50: print a els ...
 - day02编程语言,Python语言介绍,Python解释器安装,环境变量,Python代码执行,pip,应用程序使用文件的三步骤,变量,变量的三大组成,比较,pycharm
		
复习 重点: 1.进制转换:二进制 与十六进制 2.内存分布:栈区 与堆区 # 二进制1111转换十六进制 => 8 4 2 1 => f 10101100111011 => 2a7 ...
 - windows环境下把Python代码打包成独立执行的exe
		
windows环境下把Python代码打包成独立执行的exe可执行文件 有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ...
 
随机推荐
- 在linux系统中安装VSCode(Visual Studio Code)和图标的创建方式
			
本文转载自:https://www.cnblogs.com/lzpong/p/6145511.html,自己添加了一些关于依赖包安装的. 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不 ...
 - memCachedClient 客户端调用时注意的问题,坑
			
// 第三个参数为计算该消息在服务器存放位置用 memCachedClient.add("someKey", "someValue", 10*24*60*60* ...
 - The First Android App----Starting Another Activity
			
To respond to the button's on-click event, open the activity_main.xml layout file and add the androi ...
 - hdu1081 To The Max                                                                                            2016-09-11 10:06             29人阅读              评论(0)              收藏
			
To The Max Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
 - 几个经典的数学库之一学习---VCGlib(1)
			
1. VCG Libary是Visulization and Computer Graphics Libary(可视化与计算机图形学库)的缩写,是一个开源的C++模板库,用于三角网格和四面体网格的控制 ...
 - hdu 5035 指数分布无后效性
			
http://acm.hdu.edu.cn/showproblem.php?pid=5035 n个柜台每个柜台服务的时间都满足指数分布t=p(k),求min(p(k)+t)的期望 指数分布一个有趣的特 ...
 - Mysql工作記錄之修改默認存儲引擎及重設root用戶密碼
			
1>修改默認存儲引擎方法 修改配置文件,然後重啟mysql服務: [root@CHW mysql]# cat /etc/my.cnf [my ...
 - MySQL中不允许使用列别名作为查询条件
			
在MySQL中有个特殊的规定,即不允许使用列别名作为查询条件.比如有下面一个表: select ID, title, concept, conceptLength, ...
 - [leetcode] 17. Merge Two Sorted Lists
			
这个非常简单的题目,题目如下: Merge two sorted linked lists and return it as a new list. The new list should be ma ...
 - Android-CallUtil工具类
			
打电话相关的工具类: public final class CallUtil { /** * 拨打电话(直接拨打电话) * @param phoneNum 电话号码 */ @SuppressLint( ...