您的位置:首页 > 编程语言 > Python开发

Python基础 04 程序结构(顺序、分支、循环)

2019-02-01 13:22 585 查看

04 程序结构

  • 循环
  • while循环
  • 循环之break,contineu,pass
  • 三大结构

    • 顺序
    • 分支
    • 循环

    分支

    • 分支的基本语法

      if 条件表达式:
      语句1
      语句2
      语句3
      ...
    • 条件表达式就是计算结果必须为布尔值的表达式

    • 表达式后面的冒号不能少

    • 注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进等级(即前面的空格数相同)

    • 条件表达式结果为True执行if后面的缩进的语句块

    age = 19
    if  age < 18:
    print("你还未成年")
    print("不能进入这里")
    
    print("谢谢合作") #不属于上面的if语句块

    结果

    # 考试成绩判断
    # 90以上: 输出优秀
    # 80-90:良
    # 70-80:中
    # 60-70:平
    # 60以下: 输出:我没你这撒学僧
    
    score = 75
    
    if score>=90:
    print("A")
    if score>= 80  and score<90:
    print("B")
    if score >= 70 and score<80:
    print("C")
    if score >=60 and score<70:
    print("D")
    if score < 60:
    print("不及格")

    结果

    双向分支

    • if…else…语句

      if 条件表达式:
      语句1
      语句2
      ...
      else:
      语句1
      语句2
      .....
    • 双向分支有两个分支,当程序执行到if … else…语句的时候,一定会执行if或else中的一个,也仅执行一个

    • 缩进问题,if和else一个层级,其余语句一个层级

    # input的作用是
    # 1. 在屏幕上输出括号内的字符串
    # 2. 接受用户输入的内容并返回到程序
    # 3. input返回的内容一定是字符串类型
    sex = input("请输入性别:")
    print("你输入的性别是:{0}".format(sex))
    
    if  sex == "男":
    print("男生要保护好女生")
    else:
    print("女生要注意自己的安全")
    
    print("大家要互相帮助")

    结果

    多路分支

    • 很多分支的情况,简称多路分支

      if  条件表达式:
      语句1
      ....
      elif 条件表达式:
      语句1
      ...
      elif 条件表达式:
      语句1
      ...
      ...
      else:
      语句1
      ....
    • elif 可以由很多个

    • else可用可不用

    • 多路分支只会选一个执行

    # score  存放学生成绩
    # 注意input的返回值类型
    score = input("请输入学生成绩:")
    # 需要把输入内容的类型改变,把str转换成int
    score = int(score)
    
    if score>=90:
    print("A")
    elif score>= 80:
    print("B")
    elif score >= 70:
    print("C")
    elif score >=60 :
    print("D")
    else:
    print("你不及格了")

    结果

    if语句其他:

    • if语句可以嵌套使用,但不推荐
    • python没有switch-case语句

    循环

    • 重复执行某些固定动作或者处理基本固定的事物
    • 分类 for循环
    • while循环

    for循环

    • for循环

      for 变量 in 序列:
      语句1
      语句2
      ...
    # 打印学生列表姓名
    for name in  ['zhangsan', 'lisi', 'wangwu','jingjing']:
    print(name)

    结果

    range介绍

    • 生成一个数字序列
    • 具体范围可以设定
    # range练习
    # 打印从1-10的数字
    # 注意,一般在python中,如果由表示数字范围的两个数,一般是包含左边数字不包含右边数字
    # randint是特例,他左右都包含
    # range函数在python2 和 python3中有严重区别
    for i in range(1,11):
    print(i)

    结果

    for-else语句

    2c496
    • 当for循环结束的时候,会执行else语句
    • else语句是可选语句
    for i in range(1,6):
    print(i)
    else:
    print("打印数字完毕")

    结果

    while循环

    • 一个循环语句

    • 表示当某条件成立的时候,就循环

    • 不知道具体循环次数,但能确定循环的成立条件的时候用while循环

    • while语法:

      while 条件表达式:
      语句块
      
      #另外一种表达方法
      while 条件表达式:
      语句块1
      else:
      语句块2
    # 如果说年利率是6.7%,本利是每年翻滚, 则多少年后本钱会翻倍
    benqian = 100000
    year = 0
    while benqian < 200000:
    benqian = benqian * (1+0.067)
    year += 1 # year = year + 1
    print("第 {0} 年拿了 {1} 块钱".format(year, benqian))
    print("*"*20)
    
    # 如果说年利率是6.7%,本利是每年翻滚, 则多少年后本钱会翻倍
    # 如果拿到的钱翻倍,则用print庆祝一下
    benqian = 100000
    year = 0
    while benqian < 200000:
    benqian = benqian * (1+0.067)
    year += 1 # year = year + 1
    else:
    print("{0}年后本钱终于翻倍了".format(year))

    结果

    循环之break,contineu,pass

    • break: 无条件结束整个循环,简称循环猝死
    • continue:无条件结束本次循环,从新进入下一轮循环
    • pass:表示略过,通常用于站位
    # 在数字1-10中,寻找数字7,一旦找到,打印出来,其余则什么都不做
    # for 循环中的变量表示,一般用i,k,m,n,或者indx,idx,item之类
    # 在python中,如果循环变量名称不重要,可以用下划线(_)代替
    
    for i in range(1,11):
    if i == 7:
    print("我找到了7")
    break
    else:
    print(i)

    结果

    # 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
    
    for i in range(1,11):
    if i % 2 == 1:
    continue
    print("{0} 是偶数".format(i))

    结果

    # pass例子,一般用于占位
    # pass没有跳过功能
    
    for i in range(1,3):
    pass #当没有内容且无pass占位时,会报错
    print("LOL")

    结果

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: