Day 1-night

  • 三元操作符

    • 语法:a=x if 条件 else y   即:当条件为True时,a的值赋值为x,否则赋值为y
    • eg:small=x if x<y else y
      • <=>     if x<y: small=x
              else: small=y
    •  x=input("please input x:")
      y=input("please input y:")
      small=x if x<y else y
      print(small)
  • 断言(assert)
    • 当assert这个关键字后的条件为假时,程序自动崩溃并抛出AssertionError的异常
    • eg:assert 3<4   正常
    • eg:assert 4<3

      • 报错:
          Traceback (most recent call last):
           File "1.py", line 5, in <module>
           assert 4<3
           AssertionError

    • 用于在程序中置入检查点。当需要确保程序中的某个条件一定为真,才能让程序正常工作时,assert关键字作用很大
  • if 语句
    • 简单if语句结构:if conditionoal_test:
                     do something
    • if-elif-else语句(其中else可省略)
       age=12
      if age < 4:
      print("Your admission cost is $0.") #4岁以下免费
      elif age <18:
      print("Your admission cost is $5.") #4~18岁收费5美元,半价
      else:
      print("Your admission cost is $10.") #18岁(含)以上收费10美元,全价
      8
      9 if age < 4: #精简版
      10  price = 0
      11 elif age < 18:
      12 price = 5
      13 elif age < 65:   #多个elif语句
      14 price = 10
      15 else: #年龄超过65,半价优惠
      16 price = 5
      17 print("Your admission cost is $" + str(price) + ".")
  • while循环语句
    • while 条件:
        循环体
  • for循环语句
    • 语法格式:
      for iterating_var in sequence:
      statements(s) 
    •  for 迭代变量 in 遍历序列
        执行语句...
    •  执行过程: 依次将‘遍历序列’的每一个值传递给‘迭代变量’,每传递一个值时执行一次内部语句,直至‘遍历序列’的最后一个元素,for语句退出。
    • 遍历序列可以是字符串(str),列表(list),元组(tuple)…
  • range() 内建函数
    •   语法格式:
        ranage([start,]stop[,step=1]) 中括号括起来表示该参数可选,step=1表示第三个参数的默认值为1
    • 该BIF的作用为:生成一个从start参数的值开始,到stop参数的值结束的数字序列。常与for循环结合用于计数循环
    • 只传递一个参数的range(),eg:range(5),即:将第一个参数默认值设置为0,生成0~5的所有数字(包括0不包括5)
    • 也有只传递两个参数的range(),eg:range(2,9) 输出2~9(不包括9)
    • 传递三个参数的range(),eg:range(1,10,2) 输出1,3,5,7,9
  • break 语句
    • 终止当前循环,跳出循环体
  • continue 语句
    • 终止本轮循环并开始下一轮循环(在开始下一轮循环之前,会先测试循环条件)  
  • Question:
    •  for i in range(10):
      if i%2!=0:
      print(i)
      continue
      i+=2
      print(i)

      执行结果为 1 3 5 7 9 9 (省略换行)
      不懂运行方式?待解决

  • Answer:
     for i in range(10):
    if i%2!=0:
    print(str(i)+'YES')
    continue
    i+=2
    print(str(i)+'NO')
    print(i)

执行结果为 2NO 1YES 4NO 3YES 6NO 5YES 8NO 7YES 10NO 9YES 9
       因此,通过对比我们可得知python for循环的执行机制:在range内是一个从0~10(不包括10)的列表,每执行一次for条件判断,就依次将0~9赋值给i,也就是说,i最终的值只在for条件判断中改变,循环体内i的值改变不会产生影响,即不保留到下一次循环;而对比C语言,for(i=0;i<10;i++),循环体内i的值可保留至下一次,在判断条件是,只需i++
     即,对于该题来说,首先,i被赋值为0,偶数,不满足if条件,执行i+=2,i=2;下一次for循环,i被赋值为1,奇数,满足if条件,输出1,continue,结束本次循环;接着,i被赋值为2,偶数,...

python之分支和循环的更多相关文章

  1. Python(四) 分支、循环、条件与枚举

    一.什么是表达式 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 二.表达式的优先级 三.表达式优先级练习 优先级同级 从左往右计算 1 or 2 a ...

  2. 【03】Python:分支和循环

    写在前面的话 在写代码的时候,我们的代码不可能总是一行一行语句的堆叠,有些时候我们需要对一个事物进行判断,或者很大一组数据需要循环挨个处理.这些不可能让我们一步一步的去写.所以有了接下来的分支结构和循 ...

  3. python 04 分支和循环

    创建一个框架  名字.py 打飞机游戏 加载音乐 播放音乐 我打飞机诞生 inter=0 while true: if 用户是否惦记了关闭: 退出程序 bleak inter+=1 if inter ...

  4. python 条件分支与循环

    一.if判断: 语法一: if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例: sex='female' age=18 is_beautiful=True if sex == ' ...

  5. python入门(三):分支、循环、函数

    1.分支 if循环格式:if condition_1: statement_block_1elif condition_2: statement_block_2else: statement_bloc ...

  6. Python代码结构——顺序、分支、循环

    ## 顺序结构 - 按照从上到下的顺序,一条语句一条语句的执行,是最基本的结构 ## 分支结构 if condition: statement statement ... elif condition ...

  7. Python学习杂记_4_分支和循环

    分支 和 循环 分支和循环这俩结构在各语言中都有着很重要的地位,当然我之前都没有学好,这里总结一下在Python学习中对这俩结构的认识. 分支结构 # 单分支 if 条件判断: 执行语句… # 双分支 ...

  8. 零基础入门学习Python(9)--了不起的分支和循环3

    前言 本节继续介绍分支和循环 知识点 while循环 Python while循环与if条件分支有点类似,在条件为真的情况下,执行某一段指定的代码.不同的是只要条件为True,while循环就会一直重 ...

  9. 零基础入门学习Python(7)--了不起的分支和循环1

    前言 我们今天的主题,是了不起的分支和循环,为什么不说c语言,Python了不起,而对分支和循环这两个知识点那么崇拜呢? 我们之前的几节课里也接触到了分支和循环,大家思考一下,如果我们的程序没有分支和 ...

随机推荐

  1. python多进程实例详解

    写在前面:python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了非常好用的多进程包multiprocessing ...

  2. MMC.EXE应用程序错误 应用程序无法正常启动(0XC0000043)

    一.Windows+R 输入 regedit.exe ①打开注册表: HKEY_LOCAL_MACHINE“"SOFTWARE""Classes""C ...

  3. 快速配置和切换http和https

    <link href="//maze.gxrc.com/css/global.css" rel="stylesheet" type="text/ ...

  4. mysql无法压缩存储表情

    原文链接:https://www.cnblogs.com/SimonHu1993/p/7573868.html mysql无法压缩存储表情compress(str),就选择过滤把emoji表情符号替换 ...

  5. leetCode:reverseInteger 反向整数 【JAVA实现】

    反向整数 给定一个 32 位有符号整数,将整数中的数字进行反转,如果超出整数的最大或者最小范围返回0 更多文章查看个人博客 个人博客地址:反向整数 方法一 利用StringBuilder的revers ...

  6. MapReduce的shuffle过程详解

    [学习笔记] 结果分析:shuffle的英文是洗牌,混洗的意思,洗牌就是越乱越好的意思.当在集群的情况下是这样的,假如有三个map节点和三个reduce节点,一号reduce节点的数据会来自于三个ma ...

  7. pandas 索引笔记

    import pandas as pd import numpy as np s = pd.Series(np.random.rand(5), index=list('abcde')) # 创建序列, ...

  8. Python enumerate()内置函数

    Python enumerate()内置函数 文章参考 描述 enumerate()函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合成一个索引序列,同时列出数据和数据下标,一般用于for循环 ...

  9. scratch少儿编程第一季——08、特效我也会

    各位小伙伴大家好: 上期我们学习了外观模块的角色切换,今天我们继续学习外观模块的其他指令. 首先来看特效指令. 这里我们克隆了三只小猫作对比,将颜色特效增加25. 这个指令除了颜色特效还有很多其他的特 ...

  10. Mysql高可用集群环境介绍

    MySQL高可用集群环境搭建 01.MySQL高可用环境方案 02.MySQL主从复制原理 03.MySQL主从复制作用 04.在Linux环境上安装MySQL 05.在MySQL集群环境上配置主从复 ...