Python学习笔记5(条件语句、循环语句)
1.条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python编程中 if 语句用于控制程序的执行,基本形式为:
1 if 判断条件: 2 执行语句…… 3 else: 4 执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
1 if 判断条件1: 2 执行语句1…… 3 elif 判断条件2: 4 执行语句2…… 5 elif 判断条件3: 6 执行语句3…… 7 else: 8 执行语句4……
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。如下面的代码将正常执行不会报除零错误:
1 a=0 2 b=1 3 if ( a > 0 ) and ( b / a > 2 ): 4 print "yes" 5 else : 6 print "no"
而下面的代码就会报错:
1 a=0 2 b=1 3 if ( a > 0 ) or ( b / a > 2 ): 4 print "yes" 5 else : 6 print "no"
2.循环语句
Python提供了for循环和while循环(在Python中没有do..while循环):
a.while循环
基本形式如下
1 while 判断条件: 2 执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(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 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
1 i = 1 2 while i < 10: 3 i += 1 4 if i%2 > 0: # 非双数时跳过输出 5 continue 6 print i # 输出双数2、4、6、8、10 7 8 i = 1 9 while 1: # 循环条件为1必定成立 10 print i # 输出1~10 11 i += 1 12 if i > 10: # 当i大于10时跳出循环 13 break
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
1 count = 0 2 while count < 5: 3 print count, " is less than 5" 4 count = count + 1 5 else: 6 print count, " is not less than 5"
b.for循环
基本形式如下
1 for iterating_var in sequence: 2 statements(s)
小例子
>>>for letter in 'Python': # 第一个实例 >>> print '当前字母 :', letter >>>fruits = ['banana', 'apple', 'mango'] >>>for fruit in fruits: # 第二个实例 >>> print '当前水果 :', fruit >>>print "Good bye!" 当前字母 : P 当前字母 : y 当前字母 : t 当前字母 : h 当前字母 : o 当前字母 : n 当前水果 : banana 当前水果 : apple 当前水果 : mango Good bye!
和while循环一样,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行。
1 >>>for num in range(10,20): # 迭代 10 到 20 之间的数字 2 >>> for i in range(2,num): # 根据因子迭代 3 >>> if num%i == 0: # 确定第一个因子 4 >>> j=num/i # 计算第二个因子 5 >>> print '%d 等于 %d * %d' % (num,i,j) 6 >>> break # 跳出当前循环 7 >>> else: # 循环的 else 部分 8 >>> print num, '是一个质数' 9 10 10 等于 2 * 5 11 11 是一个质数 12 12 等于 2 * 6 13 13 是一个质数 14 14 等于 2 * 7 15 15 等于 3 * 5 16 16 等于 2 * 8 17 17 是一个质数 18 18 等于 2 * 9 19 19 是一个质数
for循环也可以搭配continue,break 来跳过循环