一、判断语句
1.1 Shell里的判断语句格式
shell双分支判断语句:
if 条件;then
执行动作一
else
执行动作二
fi
shell多分支判断语句:
if 条件一;then
执行动作一
elif 条件二;then
执行动作二
elif 条件三;then
执行动作三
else
执行动作四
fi
1.2 Python里的判断语句格式
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
通过下图来简单了解条件语句的执行过程:

python单分支判断语句:
if 条件: # 条件结束要加:号(不是;号)
执行动作一 # 这里一定要缩进(tab键或四个空格),否则报错
# 没有fi结束符了,就是看缩进
python双分支判断语句:
if 条件:
执行动作一
else: # else后面也要加:
执行动作二
python多分支判断语句:
if 条件一:
执行动作一
elif 条件二: # elif 条件后面都要记得加:
执行动作二
elif 条件三:
执行动作三
else:
执行动作四
If嵌套
if 条件一:
if 条件二:
执行动作一 # 条件一,二都为True,则执行动作一
else:
执行动作二 # 条件一True,条件二False,则执行动作二
执行动作三 # 条件一True,条件二无所谓,则执行动作三
else:
if 条件三:
执行动作四 # 条件一False,条件三True,则执行动作四
else:
执行动作五 # 条件一False,条件三False,则执行动作五
执行动作六 # 条件一False,条件二,三无所谓,则执行动作六
执行动作七 # 与if里的条件无关,执行动作七
示例:
import random
num = random.randint(1, 100)
if 50 < num <= 90 and num != 3:
print(num)
elif 40 < num < 30:
print(num)
else:
print(num)
if num > 90:
print(num)
if num > 95:
print(num)
else:
print(num)
else:
print(num)
二、循环语句
下面是在大多数编程语言中的循环语句的一般形式:
Python 提供了 for 循环和 while 循环(在 Python 中没有 do..while 循环):
循环类型 |
描述 |
while 循环 |
在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for 循环 |
重复执行语句 |
嵌套循环 |
你可以在while循环体中嵌套for循环 |
循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
控制语句 |
描述 |
break 语句 |
在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 |
在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass 语句 |
pass是空语句,是为了保持程序结构的完整性。 |
2.1 Python while循环
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件(condition):
执行语句(statements)……
执行流程图如下:

2.1.1 while 循环的基本格式
while 条件:
条件满足时候:执行动作一
条件满足时候:执行动作二
......
示例: 猜数字小游戏
import random # 导入随机数模块
num = random.randint(1, 100) # 取1-100的随机数(包括1和100)
while True:
gnum = int(input("你猜:"))
if gnum > num:
print("猜大了")
elif gnum < num:
print("猜小了")
else:
print("猜对了")
break
print("领奖")
2.1.2 while 循环使用else语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
示例:
count = 0
while count < 5:
print(count, " is less than 5")
count = count + 1
else:
print(count, " is not less than 5")
执行结果:

2.2 Python for 循环语句
for循环遍历一个对象(比如数据序列,字符串,列表,元组等),根据遍历的个数来确定循环次数。
for循环可以看作为定循环,while循环可以看作为不定循环。
流程图:
2.2.1 for循环的基本格式
for 变量 in 数据:
重复执行的代码
示例:
print("++++++++++++++++++++++++++++++++++")
for line in range(6): # [0, 5] 迭代 6 次
for i in range(line + 1):
print("* ", end=" ")
print()
print("++++++++++++++++++++++++++++++++++")
for line in range(1, 4): # [1, 4) 迭代 3 次
for field in range(1, 4):
print("*", end=" ")
print()
print("++++++++++++++++++++++++++++++++++")
fruits = ['banana', 'apple', 'mango'] # 列表
for index in range(len(fruits)): # 通过索引遍历
print('当前水果 : %s' % fruits[index])
print("Good bye!")
执行结果:
2.2.2 循环使用 else 语句
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行。
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print ('%d 等于 %d * %d' % (num,i,j))
break # 跳出当前循环
else: # 循环的 else 部分
print ('%d 是一个质数' % num)
执行结果:
