美文网首页
分支结构、循环

分支结构、循环

作者: 有趣的恶魔QAQ | 来源:发表于2018-12-28 20:54 被阅读0次

    一、if的语句及使用

    知识点扩充:python中的分支结构只有if语句 ,没有switch

    1.什么时候需要用到if语句(在需要满足某个条件的前提下)

    2.怎么使用if语句

    • 语法1:
        if 条件语句:
        代码段1

    • 说明:
        if - 关键字,是如果的意思

    • 条件语句 --- 任意一个有结果的语句,最好结果是布尔,如果不是布尔,在返回结果时会转换成布尔

    • : --- 固定写法。在Python中,只要有冒号,冒号后面第一句必须有缩进,冒号缩进组合形成代码段,相当于其他语言中的大括号

    代码段1 - 和if保持一个缩进的语句,可以是一行,也可以是多行

    • 执行过程:先判断条件语句的结果是否为True,如果为True就执行代码段1,否则执行其他语句。

    如果为False,就不执行代码段1,直接执行其他语句

    age = 16
    if age >= 16:
        print('可以判死刑了!')
    print('呵呵呵呵呵呵')
    
    注意:和if保持同样缩进的语句要满足条件才会被执行,不在同一缩进的语句,即便不满足条件,也会被执行。
    • 练习:输入一个数,如果这个数能够被3整除,就打印“这个数是3的倍数”
    num = input('请输入一个整数:')
    if int(num) % 3 == 0:
        print('%d这个数是3的倍数!' % int(num))
    
    
    结构2:if - else 结构
    • 语法:
        if 条件语句:
        代码段1
      else :
        代码段2

    • 说明:
        else - 关键字,固定写法。相当于否则,不满足if条件的其他情况

    • 执行过程:先判断条件语句是否为True,为True则执行代码段1,否则执行代码段2

    • 练习:输入一个数,如果这个数是偶数就打印“xx是偶数”,不是就打印“这个数是奇数”
    num1 = int(input('请输入一个整数:'))
    if num1 % 2 == 0:
        print('%d是偶数' % num1)
    else:
        print('%d是奇数' % num1)
    
    • 练习:输入一个字符串,判断字符串的第一个字符是不是小写字母,如果是将字符串第一个字符转换成大写字母并打印,否则直接打印
    str1 = input('请输入一个字符串:')
    first_char = str1[0]
    if 'a'<= first_char <= 'z':
        print(first_char.upper() + str1[1:])
    else:
        print(str1)
    
    

    结构3:if - elif - else

    • 语法:
        if 条件语句1:
          代码段1
        elif 条件语句2:
         代码段2
        elif 条件语句3:
         代码段3
         ...
         else:
         代码段n

    • 说明:
      elif - 关键字:在前面条件不满足的情况下,判断其他条件是否满足

    • 执行过程:先判断条件语句1是否成了,如果成立直接执行代码段1,然后整个if结构结束;如果不成立,直接判断条件语句二,如果成立整个if结构结束,若不成立则执行下一个条件语句,依次类推,直到整个if结构条件语句执行完之后直接执行else,整个if结构结束

    注意:后面语句的判断都是在前面条件语句不成立的情况下执行的,根据情况后面的else结构可以没有

    salary = 20000
    if salary <= 5000:
        print('买空调')
    elif salary <= 10000:
        print('买冰箱')
    elif salary <= 15000:
        print('买家具')
    elif salary <= 20000:
        print('买机车')
    else:
        print('想买啥就买啥')
    
    • 练习:

      欢迎XXX:
      
      1.  添加学生
      2.  查看学生
      3.  修改学生信息
      4.  删除学生
      5.  返回
      
    num2 = int(input('请输入功能键:'))
    if num2 == 1:
        print('请输入学生信息:')
    elif num2 == 2:
        print('正在查看学生信息!')
    elif num2 == 3:
        print('开始修改学生信息!')
    elif num2 == 4:
        print('正在对当前学生进行删除')
    elif num2 == 5:
        print('正在返回主页面!')
    else:
        print('请按照需要输入功能键!')
    
    知识点补充:Python中可以使用三个双引号或者三个单引号将字符串括起来,表示一个字符串,在这种字符串中可以输入回车换行
    • 例如:
    str3 = '''
     ====================================
     欢迎XXX:
    
          1.  添加学生
          2.  查看学生
          3.  修改学生信息
          4.  删除学生
          5.  返回
     ======================================
    print(str3)
    

    1.if的嵌套

    即在if结构中还可以使用if结构

    注意:在else中也能嵌套if、elif、else
    • 练习:
      输入一个整数,判断他是否是偶数,如果是偶数的话就打印“xxx是偶数”,同时判断它是否能被4整除,如果可以就再打印“xxx还能被4整除”
    num = int(input('请输入一个整数:'))
    if num%2 == 0:
        print('%是偶数' % num)
        if num%4 == 0:
            print('%d还能被4整除' % num)
        else:
            print('%d是偶数但不能被4整除' % num)
    else:
        print('%d是奇数' % num)
    

    2.Python中的三目运算符

    • C/Java/Js语言中有一个三目运算符: 表达式?值1:值2 --> 判断表示式值是否为True,为True整个表达式值为1
    • python中的三目运算符: 值1 if 表达式 else 值2 --> 判断表达式的值是否为True,为True表达式值为值1,否则为值2
    应用于根据某个条件是否成立,获取不同的值的时候
    num1, num2 = 520, 1314
    max = num1 if num1 > num2 else num2
    print(max)
    

    二、for循环

    python支持的循环有两种,分别是for循环和while循环

    1.for循环
    • 语法:
       for 变量 in 序列:
        循环体

    • 说明:
      1. for - 关键字
      2. 变量 - 变量名(可以是已经赋值过变量,也可以是新的变量,一般是新的变量)
      3. in - 固定写法
      4. 序列 - 属于序列的数据,Python中的序列有:字符串、列表、字典、集合、元祖、range、迭代器、生成器
      5. : - 固定写法,有冒号的地方,下面就有缩进
      6. 循环体 - 需要重复执行的代码;循环体需要和for保持同一个缩进

    • 执行过程
      让变量取序列中取值,一个一个的取,取完为止,每取一个值,执行一次循环体(序列中元素的个数决定了循环体执行的次数)

    for char in 'chener':
        print('520')
        print(char)
    
    • 练习:给一个字符串“hosee 23jh!hs89_=sssAsK”,统计出这个字符串中的数字的个数
    count = 0
    for char in 'hosee 23jh!hs89_=sssAsK':
        if '0' <= char <= '9':
            count += 1
    print('这个字符串里面有%d个字符' % count)
    
    • range函数
    • range(数字) --- 产生数字序列 0 -- (N-1)(N必须为整数)
    • range(M,N) --- 产生数字序列 M -- (N-1) (M,N必须是整数,N > M)
    • range(M,N,step) --- 从M开始,每次值加step产生下一个数字,直到N前一个为止(M,N必须是整数,step>0,N>M;step<0,N<M)

    for num2 in range(10):
    print('num:', num2)

    • 练习:统计100以内能被13或者7整除的数的和

    sum1 = 0
    for num3 in range(1, 100):
    if num3 % 13 == 0 or num3 % 7 == 0:
    sum1 += num3
    print(sum1)

    • 通过遍历字符串下标遍历字符串

    str = 'chen er'
    for index in range(len(str)):
    print(str[index])

    三、while循环

    • 语法:
       while 条件语句:
         循环体

    • 说明:
         1. while - 关键字,当...的时候
         2. 条件语句 - 和if后边的条件要求一样(除赋值语句不行外其他都可以)
         3. 循环体 - 需要重复执行的语句写在循环体中,循环体和while保持缩进

    • 执行过程
      当程序执行到while循环,先判断条件语句是否为True,为True就执行一次循环体,执行完循环体之后再判断条件语句是否为True,以此类推,直到判断条件语句的结果为False循环结束

    for循环和while循环的选择

      for能做到的while都能做到,while能做到的循环for循环不一定能做到

    • 使用for: 遍历序列、 循环次数是确定的

    • 使用while: 死循环、 循环次数不确定

    • 练习:录入学生的成绩,录入过程以输入“end”来结束成绩的录入

    chengji = input('请输入成绩:')
    while chengji != 'end':
      chengji = input('请输入成绩:')

    注册账号输入密码,直到输入密码合理为止(要求密码至少6位)

    password = input('请输入密码:')
    while len(password) < 6:
      password = input('请输入密码:')

    四、continue语句和break语句

    - continue

    - continue是Python中的关键字,只能用于循环体中
    • 功能:当循环体执行到continue时结束当次循环,直接进入下次循环的判断(在for循环中相当于让变量去取下一个值;while循环中就是直接判断条件语句是否为True)

    - break

    -break是Python中的关键字,只能用于循环体中
    • 功能:执行循环体的时候遇到break,循环直接结束,直接执行循环后边的其他语句

    • else在循环中的用法:

    1.for循环中

     for 变量 in 序列:
      循环体
     else:
      代码段

    2.while循环中

     while 条件语句:
       循环体
     else:
      代码段

    1.求1到100之间所有数的和、平均值

    for循环

    sum = 0
    for num in range(1, 101):
      sum += num
       num += 1
    print('所有数的和为%d,平均值为%.1f' % (sum, sum/100))

    while循环

    num1 = 1
    sum1 = 0
    while num1 <= 100:
      sum1 += num1
      num1 += 1
    print('所有数的和为%d,平均值为%.1f' % (sum1, sum1/100))

    2.计算1-100之间能被3整除的数的和

    for num2 in range(1, 101):
        if num2 % 3 == 0:
            sum2 += num2
            num2 += 1
    print('1-100之间能被3整除的数的和为%d' % sum2)
    
    sum3 = 0
    while num3 <= 100:
        if num3 % 3 == 0:
            sum3 += num3
        num3 += 1
    print('1-100之间能被3整除的数的和为%d' % sum3)
    

    3.计算1-100之间不能被7整除的数的和

    for num4 in range(0, 101):
        if num4 % 7 != 0:
            sum4 += num4
        num4 += 1
    print('1-100之间不能被7整除的数的和为%d' % sum4)
    
    sum4 = 0
    while num4 <= 100:
        if num4 % 7 != 0:
            sum4 += num4
        num4 += 1
    print('1-100之间不能被7整除的数的和为%d' % sum4)
    

    相关文章

      网友评论

          本文标题:分支结构、循环

          本文链接:https://www.haomeiwen.com/subject/alselqtx.html