(一) IF语句:
为什么 if 下面的代码要缩进 4 个空格?
if语句和缩进部分是完整的代码块,如果不缩进的话程序不会正常运行
通过一行代码结尾的冒号告诉 Python 你在创建一个新的代码块,然后缩进四个空格告诉Python 这个代码块中都有些什么。这就跟本书前半部分中你学的函数是一样的。
如果没有缩进会发生什么?
报错:
bash IndentationError: expected an indented block
if、elif、else有什么区别?
1.单分支结构(if语句)
if:
2. 二分支结构(if-else语句)
if :
else :
3.多分支结构(if-elif-else语句)(else可选)
if :
elif :
…
else :
因此如果依次写了几个“if语句”,没有else或者elif,那么每个“if语句”都将会被评估一遍,结果为True的条件下面的语句块都会被执行。同样如果你写了几个“if语句”,然后在最后写了一个else,那也只能被认为是几个单分支结构然后并列了一个二分支结构,而不是一个多分支结构。因此在运行的时候,除最后一个if外,前面的“if语句”都将会被执行一次,然后再执行最后的“if-else”这个二分支。而这个else恰好又是除最后一个if条件的补集,一般包含前面某个if语句的条件,因此else下面的语句块可能会被执行,而不会达到“if-elif-else”只取其一的效果。
(二)FOR语句:
为什么 range(1, 3) 中的 i 只循环了两次而不是三次?
range() 函数只处理从第一个到最后一个数,但不包括最后一个数,所以它在 2 就结束了。这是这类循环的通用做法。
利用for-in语句来生成一个二维列表?
利用二重循环,第一次循环生成每一个一维数组,第二次循环在每一个一维数组里添加内容。
(三)while语句:
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环。
(四)总结:
task06:本次学习了for、while、if的用法,这些语句之前也有了解,这次学习更加加深了理解,尤其是在for循遍历数组元素时,range(1,3) 函数只处理从第一个到最后一个数,但不包括最后一个数,所以它在 2 就结束了。这是这类循环的通用做法。