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()

posted @ 2022-06-30 18:48  乌醍  阅读(156)  评论(0编辑  收藏  举报