python基础 8.程序的组织结构
程序的组织结构
任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构三种基本结构组成
顺序结构
程序从上到下顺序执行代码,中间没有任何的判断和跳转,直到程序结束
# ----------顺序结构----------
print("step1")
print("step2")
print("step3")
选择结构
程序根据判断条件的布尔值选择执行部分代码
单分支结构
if 条件表达式:
执行语句
# ----------分支结构----------
# 单分支
salary = 1000
if salary<3000:
print("大学生")
双分支结构
if 条件表达式:
执行语句
else:
执行语句
# ----------分支结构----------
# 双分支
salary = 1000
if salary>3000:
print("打工人")
else:
print("大学生")
多分支结构
if 条件表达式:
执行语句
elif:
执行语句
else:
执行语句
# ----------分支结构----------
# 多分支
salary = 1000
if salary>20000:
print("老板")
elif salary>3000:
print("打工人")
else:
print("大学生")
嵌套if
if 条件表达式:
if 条件表达式:
执行语句
else:
执行语句
else:
执行语句
# 嵌套if
answer = input("请问您是否是会员?Y/N")
if answer == 'Y':
money = float(input("请输入您的扣款金额"))
if money > 200:
money *= 0.8
elif money > 100:
money *= 0.9
print(money)
elif answer == 'N':
money = float(input("请输入您的扣款金额"))
print(money)
else:
print("输入有误,请重新输入")
条件表达式
# 条件表达式
answer = input("请问您是否是会员?Y/N")
print("您是会员" if answer =='Y' else "您不是会员") # 判断为Y,则执行判断前的语句,判断不为Y,则执行判断后的语句
pass空语句
语句什么都不执行,只是一个占位符,用在语法上需要语句的地方
# ----------pass空语句---------- import sys answer = input("请问您是否是会员?Y/N") if answer =='Y': pass else: print("您不是会员") sys.exit() print("您是会员")
循环语句
反复做同一件事情的情况,称为循环
循环的分类:
while
for..in
选择结构的if与循环结构的while的区别
if是判断一次,条件为True执行一次
while是判断N+1次,条件为True执行N次
while循环
while 条件表达式:
循环语句
# while语句
a = range(5)
b = 0
while b in a:
print(b)
b += 1
else:
print("循环结束")
sum = 0
a = 0
while a in range(100):
sum += a
a += 2
print(sum)
for..in循环
in表达从(字符串、序列等)中一次取值,又称遍历
for..in遍历对象必须是可迭代对象
for..in语法结构:
for 变量 in 迭代对象:
循环体
循环体内不需要访问自定义变量,可以将自定义变量替代为下划线
for a in range(5):
print(a, end=",")
for a in range(100, 1000):
b, c, d = a//100, (a//10) % 10, a % 10
if b**3 + c**3 + d**3 == a:
print(a)
break流程控制语句
用于结束循环结构,通常与分支结构if一起使用
# # ----------break语句----------
for i in range(3):
if i == 2:
break
print(i)
a = 0
while a in range(5):
if a ==3:
print("6")
break
print(a)
a += 1
continue流程控制语句
用于结束当前循环,进入下一次循环,通常于分支结构if一起使用
# ----------continue语句----------
for i in range(5):
if i == 2:
continue
print(i)
a = 0
sum = 0
while a in range(5):
if a == 3:
a += 1
continue
sum += a
a += 1
print(sum)
else语句
与else语句配合使用的三种情况:
if..else
|
if表达式不成立时执行else
|
while..else
|
没有碰到break时执行else
|
for..else
|
# for..else..
for i in range(3):
a = input("请输入:")
if a =='a':
print("正确")
break
else:
print("错误")
else:
print("三次错误")
# while..else..
a = 0
while a < 3:
b = input("请输入:")
if b == 'a':
print("对")
break
else:
print("错")
a += 1
else:
print("三次全错")
嵌套循环
for i in range(1, 10):
while i % 2 == 0:
print(i * i)
i += 1
break
else:
print(i)
i += 1
# 乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(str(j)+'*'+str(i)+'='+str(i*j), end=' ')
print()
二重循环的break和continue
二重循环中的break和continue用于控制本层循环
# 二重循环的break和continue
for i in range(5):
for j in range(1, 11):
if j % 2 == 0:
break
else:
print(i)
for i in range(5):
for j in range(1, 11):
if j % 2 == 0:
continue
else:
print(j, end=' ')
print()