美文网首页
2018-08-23 day4-循环和分支

2018-08-23 day4-循环和分支

作者: rzlong | 来源:发表于2018-08-23 20:46 被阅读0次

    1.数据类型转换

    自动转换
    • 整型与浮点型数计算转换为浮点型
    • 整型与bool型(0和1)计算转换为整型
    强制转换
    • 语法: 类型名( 数据 )
    • 其他类型转换int: float, bool, 整数型的字符串
    • 其他类型转换float: int, bool, 浮点型的字符串
    • 其他类型转换bool: 所有类型可转换
      除数字中的0、None和其他类型的空(空串,空列表,空元组,空字典)都是True
      print(bool(None),bool(False),bool([]),bool(''),bool({}),bool(0),bool(-2))
      
      结果:
      False False False False False False True
      
    • 其他类型转换str: 所有数据都可以转换(在外添加引号)
      print(str([1,2,3]),str(100),str(True),str(None))
      
      结果:
      [1, 2, 3] 100 True None
      实质上是'[1,2,3]' '100' 'True' 'None'
      

    2.if 语句(分支)

    if

    if的语法

    if 条件语句:
        执行语句块
    
    # if -- python中关键字,含义为'如果'
    # 条件语句 -- 判断返回的结果是bool
    # 冒号 -- 固定必须有的部分
    # 执行语句块 -- 判断为True,执行的部分
    

    实例:

    grade = 75
    if grade >= 60:
        print('成绩合格')
    print('成绩:60')
    
    结果:
    成绩合格
    成绩:60
    
    if-else

    if-else语法

    if 条件语句:
        执行语句块1
    else:
        执行语句块2
    
    # else -- 关键字,之后的冒号不可省略
    # 先判断条件语句,若为True,执行语句块1;否则,执行语句块2
    

    实例

    grade = 50
    if grade >= 60:
        print('成绩合格')
    else:
        print('成绩不合格')
    
    结果:
    成绩不合格
    成绩:50
    
    if-elif-else

    if-elif-else语法

    if 条件语句1:
        语句块1
    elif 条件语句2:
        语句块2
    elif 条件语句3:
        语句块3
        ...
    else:
        语句块n
    
    按顺序判断条件,满足则执行语句块,不满足就判断其他条件;否则,执行else的语句块
    

    实例:

    grade = 50
    if grade > 90:
        print('成绩优秀')
    elif grade >= 80:
        print('成绩良好')
    elif grade >= 60:
        print('成绩及格')
    else:
        print('成绩不合格')
    
    结果:
    成绩不合格
    
    if 语句嵌套

    每个if分支中可以嵌套其他的if语句,也就是说在执行语句块的部分有if语句代替就是嵌套
    if 嵌套语法

    if 条件语句1:
        if 条件语句2:
            执行语句块1
        else:
            执行语句块2
    else:
        执行语句2
    

    实例:

    grade = 80
    age = 18
    if grade >= 60:
        if age >= 18:
            print('录取')
        else:
            print('年龄小于18')
    else:
        print('成绩不合格')
    
    结果:
    录取
    

    案例

    # 产生一个随机数,判断是否为偶数,若是打印偶数,否则打印奇数
    # 如果能被4整除,再打印被4整除的数
    
    import random
    number = random.randint(1,100)
    if number % 2:
        print('奇数:%d'%number)
    else:
        print('偶数:%d'%number)
        if not number%4:
            print('可以被4整除:%d'%number)
    
    # 判断空串
    str1 = ''
    if not str1:
        print('空串')
    
    注:import 为模块引入关键字,random.randint(first,last)随机取数[first,last]
    

    结果:
    偶数:72
    可以被4整除:72
    空串


    3.for 循环

    python中循环有两种: for和while。

    for
    • 让变量在序列中取数据,取完为止。每取一次,执行一次循环体。
    • for循环中用来获取序列值的变量,在循环体中不一定使用;若不用,变量名可以声明为 _
      for 变量名 in 序列:
          循环体
      
      # for -- 关键字,含义'循环'
      # in -- 关键字,含义'在序列中取值'
      # 序列 -- 容器(可以包含多个数据的数据类型),如:str,list,tuple,set,dict,range,生成式,生成器
      # 循环体 -- 需要重复执行的代码
      
    • range()
      1. python内置函数,作用是产生指定范围中的数字
      2. range(number1) -- 产生[0,number-1]的数
      3. range(number1,number2) -- 产生[number1,number2-1]的数
      4. range(number1,number2,step) -- 从number1开始,每次按步进取值,在number2之前结束
      
      案例:
      print('形式1')
      for number in range(10):
          print(number, end=' ')
      
      print('\n形式2') 
      add_number = 0
      for number in range(1,101):
          add_number += number
      print(add_number)
      
      print('形式3')
      for number in range(1,20,3):
          print(number, end=' ')
      
      结果:
      形式1
      0 1 2 3 4 5 6 7 8 9 
      形式2
      5050
      形式3
      1 4 7 10 13 16 19
      
    while
    • while循环,是先判断条件语句,True就执行循环体,直到判断语句结束为False结束

      语法:
      while 条件语句:
          循环体
      
      # while -- 关键字
      # 条件语句 -- 结果为True或者False
      # 循环体 -- 重复执行的代码
      
    • 案例

      #找一个大于1000的第一个能被79整除的数 
      num = 1001
      while num % 79:
          num += 1
      print(num,num/79)
      
      结果:
      1027 13.0
      
    • 流程图


      while.png
    • for 与 while比较

    循环方式 比较 使用
    for 循环次数有限且固定,while循环次数不确定 遍历序列中的值;循环次数确定
    while 循环次数不确定 死循环;循环次数不确定

    4.break和continue

    • break用于结束或跳出最近的循环

    • continue用于结束本次的循环,开始下一次循环

    • for-else 同没有else的for语句相比影响不大。唯一的区别在于,break时有else的语句(也属于for之内)不会输出;可以用于for循环中代替记录和标志的作用,如判断是否为素数

    • 案例

    # 猜数字
    import random
    number = random.randint(1,100) #[1,100]
    while True:
        num_input = input('输入数字1-100:')
        if int(num_input) == number:
            print('猜中')
            break
        elif number > int(num_input):
            print('小了')
        elif number < int(num_input):
            print('大了')
        else:
            pass
    # 根据折半查找 --> 2^7=128>100  -- 最多猜7次
    '''
    

    相关文章

      网友评论

          本文标题:2018-08-23 day4-循环和分支

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