1、条件判断
所谓的条件判断就是根据一条或者多条语句的执行结果(True/False)来决定执行哪一块的代码。
① 条件判断的三个关键字
Python 使用if
,else
,elif
三个关键字的搭配来实现判断语句,使用代码示例如下:
# 单分支(只有一个if),如果代码块只有一条语句,可以和if语句写到一行 name = 'CoderPig' if name == 'CoderPig': print("你是CoderPig") # 双分支(if-else) sex = "男" if sex == '男': print("你是一个男性") else: print("你是一个女性") # 多分支(if-elif-else) score = 78 if score == 100: print("满分!") elif 90 <= score < 100: print("优秀!") elif 80 <= score < 90: print("良好!") elif 70 <= score < 80: print("中等!") elif 60 < score < 70: print("差!") else: print("不及格!")
运行结果如下:
你是CoderPig 你是一个男性 中等!
② 条件表达式
一个 简化版的if-else
,一般在赋值时会用得比较多,比如把两个值中较大的那个赋值给一个变量。代码示例如下:
a,b = 1, 2 c = a if a > b else b print('c = %d' % c)
运行结果如下:
c = 2
2、循环
① for循环
当我们需要重复执行某行或某个代码块的时候可以使用循环。举个例子:在没有学习循环结构前,要你计算1加到100,你可能会写出这样的代码:result = 1 + 2 + 3 + 4 +… + 100 如果要你加到1000,或者10000呢?会非常繁琐吧,如果有了循环,你只需下面这样一段代码:
result = 0 for i in range(1,101): result += i print(result)
运行结果如下:
====== 输出1-100的求和结果 ====== 5050
如果想加到1000,只需把101改成1001,加到10000,改成10001即可。非常简单,上面就是Python提供的两种循环中的「for循环」,还有另外一种「while循环」。
② while循环
把for循环的代码改成while循环,代码如下:
result = 0 pos = 1 while pos <= 100: result += pos pos += 1 else: print("====== 输出1-100的求和结果 ====== \n%d" % result)
运行结果如下:
====== 输出1-100的求和结果 ====== 5050
如果while后的判断条件返回值为True,执行循环体里的代码,否则退出循环。可以搭配else一起使用,当循环执行完后执行某段代。,可选,但不是必须的。for循环也可以使用else。
③ break,continue
Python为我们提供了两个循环控制的关键字「break」和「continue」。
break:终止整个循环
,使用代码示例如下:
print("输出1-100之间所有的奇数:") for i in range(1, 101): if i % 2 == 0: if i % 20 == 0: print() continue else: print(i, end='\t')
运行结果如下:
输出1-100之间所有的奇数: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
continue:跳过本次循环,执行下一次循环
,使用代码示例如下:
score_list = [] pos = 1 while pos < 21: score_list.append(random.randint(0, 100)) pos += 1 print("随机生成的成绩列表:\n%s" % score_list) for score in score_list: if score < 60: print("第一个不及格的成绩是:%s" % score) break
运行结果如下:
随机生成的成绩列表: [83, 55, 70, 20, 98, 26, 7, 55, 89, 27, 19, 31, 43, 89, 57, 16, 86, 77, 68, 50] 第一个不及格的成绩是:55
④ 循环嵌套
所谓的循环嵌套就是一个循环里面有另一个循环,举个最经典的例子,打印9*9乘法表,代码示例如下:
print("输出九九乘法表:") i = 1 while i <= 9: j = 1 while j <= i: print('%d * %d = %d' % (i, j, i * j), end='\t') j += 1 print() i += 1
运行结果如下:
输出九九乘法表: 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
⑤ 死循环
所谓的死循环就是因为程序的逻辑问题,导致循环代码块一直执行,循环的条件永远不会为False,
导致无法跳出循环,所以编写代码的时候需要保证程序的的正确性。当然,死循环也不是一无是处的,
在执行一些轮询操作时经常用到,等满足某个条件再break退出这个循环。