和其它编程语言一样,按照执行流程划分,Python 程序也可分为 3 大结构,即顺序结构、选择(分支)结构和循环结构:
- Python 顺序结构就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。
- Python 选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。
- Python 循环结构就是让程序“杀个回马枪”,不断地重复执行同一段代码。
IF分支结构
在 Python 中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。
Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句,它们的语法和执行流程如表1所示。
语法格式 | 执行流程 |
---|---|
if 表达式: 代码块 |
|
if 表达式: 代码块 1 else: 代码块 2 |
|
if 表达式 1: 代码块 1 elif 表达式 2: 代码块 2 elif 表达式 3: 代码块 3 …//其它elif语句 else: 代码块 n |
对语法格式的说明:
- “表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。
- “代码块”由具由相同缩进量的若干条语句组成。
- if、elif、else 语句的最后都有冒号”:”,不要忘记。
【实例1】使用第一种选择结构判断用户是否符合条件:
age = int( input("请输入你的年龄:") )
if age < 18 :
print("你还未成年,建议在家人陪同下使用该软件!")
print("如果你已经得到了家长的同意,请忽略以上提示。")
#该语句不属于if的代码块
print("软件正在使用中...")
【实例2】判断一个人的身材是否合理:
height = float(input("输入身高(米):\n"))
weight = float(input("输入体重(千克):\n"))
bmi = weight / (height * height) #计算BMI指数
if bmi<18.5:
print("BMI指数为:"+str(bmi))
print("体重过轻")
elif bmi>=18.5 and bmi<24.9:
print("BMI指数为:"+str(bmi))
print("正常范围,注意保持")
elif bmi>=24.9 and bmi<29.9:
print("BMI指数为:"+str(bmi))
print("体重过重")
else:
print("BMI指数为:"+str(bmi))
print("肥胖")
练习:输入一个成绩判断是否及格
练习:输入成绩打印定级结果
60l以下:不及格,60~70:一般 70~90:良好 90~100:优秀
while循环
while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。
while 语句的语法格式如下:
这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。
while 条件表达式:
代码块
while 语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块…如此循环,直到条件表达式的值为假(False),才终止循环。
示例:求1+2+3+4+…+100,的和
times = 100
sum = 0
while times:
sum += times
print(sum,times)
times -= 1
print(sum)
for循环
Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。
for 循环的语法格式如下:
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
for 循环语句的执行流程如图所示。
打印mlist中的所有成员信息:
m_list = ["apple", "xiaomi", "huawei", "oppo"]
for phone in m_list:
print(phone)
range()函数
作用:用于生成一个整数序列
range(stop)
a = range(10)
print(list(a))
range(start,stop)
a = range(5, 10)
print(list(a))
range(start,stop,step)
a = range(5, 10, 2)
print(list(a))
示例:求1+2+3+4+…+100,的和
sum = 0
for i in range(100):
sum += i + 1
print("sum:{} i+1:{}".format(sum, i + 1))
print("=========================")
print(sum)
※break与continue的区别
break 终止循环
continue 继续下一次循环