条件判断
所谓的条件判断就是根据一条或多条语句的执行结果(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 = 78if 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
循环
// for循环 //
当我们需要重复执行某行或某个代码块的时候可以使用循环。举个例子:在没有学习循环结构前,要你计算1加到100,你可能会写出这样的代码:result = 1 + 2 + 3 + 4 +... + 100 如果要你加到1000,或者10000呢?会非常繁琐吧,如果有了循环,你只需下面这样一段代码:result = 0for i in range(1,101):
result += i
print(result)# 运行结果如下:
====== 输出1-100的求和结果 ======5050
如果想加到1000,只需把101改成1001,加到10000,改成10001即可。// while循环 //
Python中提供的另外一种循环,把上面for循环的实例改为while循环:result = 0
pos = 1while pos <= 100:
result += pos
pos += 1else:
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()continueelse: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 = 1while 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 = 1while i <= 9:
j = 1while 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退出这个循环。