美文网首页
break 语句、for 语句、range 函数、continu

break 语句、for 语句、range 函数、continu

作者: 秋天丢了李姑娘 | 来源:发表于2021-07-16 21:01 被阅读0次

break 语句

  • 作用

用于循环语句(while, for语句)中, 当break 执行是,她会终止包含他的当前循环。

  • 语法

break

  • 说明

    • break 语句只能用在 while 语句或for语句的内部.
    • break 语句通常和 if 语句组合使用.
    • 当break 语句执行后,此循环语句break 之后的所有语句都不会执行(else 子句里的语句也不执行)
    • break 语句只能终止包含他的当前循环,当有循环嵌套时,只能跳出离他最近的一个循环
  • 示例

    i = 1
    while i <= 5:
        print('i=', i)
        if i == 2
            break
            i += 1
    else:
        print('循环结束: i=', i)
    
  • 死循环

    • 死循环是指循环条件一直成立的循环
    • 死循环通常使用 break 语句来终止循环
    • 死循环的 else 子句中的语句永远不会执行
  • 写法

    while True:
        语句块
    

    死循环通常用于循环次数无法确定的循环

  • 练习1:

写程序, 任意输入一些正整数, 当输入负数时结束输入,当输入完成后,打印您输入的这些正整数的和
如:
请输入: 1
请输入: 2
请输入: 3
请输入: 4
请输入: -1
您刚才输入的正整数之和是: 10

for 语句

  • 作用

  • 用来遍历可迭代对象的数据元素

遍历是指经历且只经历一遍
可迭代对象是指能够依次获取数据元素的对象

可迭代对象

  1. 字符串
  2. ---- 以下后面才讲----
  3. 列表 list
  4. 字典 dict
  5. ...
  • 语法

for 变量列表 in 可迭代对象:
语句块1
else:
语句块2

  • 语法说明

    • else 子句可以省略
    • else 子句的语句块2 只有在 可迭代对象不再能提供数据的时候才会执行
    • 因为 语句块1 部分调用break 而终止循环式,else 子句部分不会执行。
  • 示例

    s = 'ABCDE'
    for ch in s:
        print('ch=', ch)
    else:
        print("遍历结束")
    
  • 练习1

    写一个程序,输入一个任意长度的字符串,用for 语句找出这个字符串中有几个英文的等号(=)
    注: 不允许使用 str.count 方法
    如:
    请输入: a = b = c = 100
    结果: 3

range 函数

  • 作用

    用来生成一个能够得到一系列整数的可迭代对象(也叫整数序列生成器)

  • 调用格式

    range(stop) # stop 停止整数
    range(start, stop) # start 开始整数
    range(start, stop, step) # step 步长

    range 函数调用会生成从 start 开始,到 stop 结束(不包含stop) 的一系列整数,整数的间隔 step

    start 默认值为0, step 默认值为1

  • 示例

    range(4)          # 生成 0 1 2 3
    range(3, 6)       # 生成 3 4 5
    range(1, 10, 2)   # 生成 1 3 5 7 9
    range(5, 0, -2)   # 生成 5 3 1
    
  • 示例

    >>> for x in range(4):
    ...     print(x)
    ... 
    0
    1
    2
    3
    >>> for x in range(3, 6):
    ...     print(x)
    ... 
    3
    4
    5
    >>> for x in range(1, 10, 2):
    ...      print(x)
    ... 
    1
    3
    5
    7
    9
    >>> for x in range(5, 0, -2):
    ...     print(x)
    ... 
    5
    3
    1
    
  • 练习1

    用 for 语句 打印 1~20 的整数,打印在一行内
    1 2 3 4 .... 19 20

  • 练习2

写程序,计算 1 + 3 + 5 + 7 + ..... + 97 + 99 的和
分别用 for 循环和 while 实现。

continue 语句

  • 作用

    用于循环语句(while 语句和for语句)中, 不再执行本次循环内 continue 之后的语句,开始一次新的循环

  • 语法

    continue

  • 说明

    • 在for 语句中, 执行continue 语句,for语句将会从可迭代对象向中获取下一个元素绑定变量后再次进行循环
    • 在while 中,执行continue 语句, 将会直接跳转到while 语句的真值表达式处,重新判断循环条件。
  • 示例1

    for x in range(5):
        if x % 2 == 0:
            continue
    print(x)    # 0 1 2 3 4
    
  • 示例2

    x = 0
    while x < 5:
        print(x)
        x += 1
    
  • 练习3

    假设一个用户信息如下:
    用户名是:root
    密码是: 123456
    写一个身份验证的程序,让用户输入用户名和密码登录, 用户名和密码全部匹配,提示登录成功。
    否则继续,最多尝试3次。3次不匹配以后提示登录失败.

  • 数据类型

    • 字符串 str
    • 数字
      • 整数 int
      • 浮点数 float
      • 布尔数 bool
    • 容器
      • 列表 list
      • 元组 tuple
      • 字典 dict
      • 集合 set / 固定集合 frozenset
      • 字节串 bytes / 字节数组 bytearray
    • None
  • 复合赋值分隔符

    x += y    # 等同于 x = x + y
    x -= y    # 等同于 x = x - y
    x *= y    # 等同于 x = x * y
    x /= y    # 等同于 x = x / y
    x //= y   # 等同于 x = x // y
    x %= y    # 等同于 x = x % y
    ....
    

容器

列表 list

  • 列表是一种可以存储任意个各种类型的序列容器
  • 列表内的数据有先后顺序关系
  • 列表是可变的容器

序列指有序排列

  • python 中默认有4种可变的容器
    1. 列表list
    2. 字典 dict
    3. 集合 set
    4. 字节数组 bytearray

python 3 中的序列

  • 字符串 str
  • 列表 list
  • 元组 tuple
  • 创建列表的字面值

    >>> L = []     # 创建一个空的列表
    >>> L = ['北京', '上海', '广州', '西安']  # 创建一个含有4个字符串的列表
    >>> L = [1, 'Two', 3.14, True, False, None]
    >>> L = [1, 2, [3.1, 3.2], 4]   #  含有四个元素的列表,第三个元素是列表
    >>> L2 = [
    ['姓名','语文成绩','数学成绩'],
    ['魏明择', 90, 100],
    ['牛犇', 59, 26]
    ]
    

    注: python 中的 (), [], {} 和 三引号字符串都要成对出现, 可以换行

  • 创建列表的构造函数 list

    list() # 创建一个空的列表,等同于 []
    list(可迭代对象) # 用可迭代对象创建一个列表

  • 示例

    L = list()          # L = []
    L = list("ABC")     # L = ['A', 'B', 'C']
    L = list(range(5))  # L = [0, 1, 2, 3, 4]
    
  • 列表的运算

    列表list同字符串str都是序列, 他们的运算规则基本相同

    • + 用于拼接列表

      >>> [1, 2, 3] + [4, 5, 6]   # [1, 2, 3, 4, 5, 6]
      
    • += 追加

      语法 列表 += 可迭代对象

      >>> L = [1, 2, 3]
      >>> L += [4, 5]         # L = [1, 2, 3, 4, 5]
      >>> L = [1, 2, 3]
      >>> L += "ABC"          # L = [1, 2, 3, 'A', 'B', 'C']
      >>> L += range(2)
      
    • * 用于生产重复的列表

      >>> [1, 2] * 3    # [1, 2, 1, 2, 1, 2]
      >>> L = [5, 6]
      >>> L *= 3        # L = [5, 6, 5, 6, 5, 6]
      
    • == != 用于比较

      >>> [1, 2, 3] == [1, 2, 3]    # True
      >>> [1, 2, 3] != [3, 2, 1]    # True
      
    • in /not in 用于判断一个数据元素是否在列表中

      >>> "hello" in [1, "hello", 'world']
      True
      >>> '红楼梦'  in ['三国演义', '西游记']
      False
      
    • 索引

      列表[整数表达式]

      L = [1, 2, 3, 4, 5, 6]
      print(L[0])    # 1
      print(L[-1])   # 6
      
    • 切片

      列表[(开始索引b):(终止索引e)(: (步长s))]
      () 里的内容代表可以省略

    • 示例

      x = [1, 2, 3, 4, 5, 6, 7, 8]
      y1 = x[:4]     # y1 = [1, 2, 3, 4]
      y2 = x[::2]    # y2 = [1, 3, 5, 7]
      y3 = x[::-1]   # y3 = [8, 7, 6, 5, 4, 3, 2, 1]
      

    列表是可变的容器(不同于字符串)

    列表是可变的
    字符串是不可变的

    >>> L1 = L2 = [1, 2, 3]
    >>> L1 += [4, 5, 6]  # L1 = [1, 2, 3, 4, 5, 6]
    >>> L2 
    [1, 2, 3, 4, 5, 6]
    # 不同于字符串
    >>> s1 = s2 = "ABC"
    >>> s1 += 'DEF'    # s1 = 'ABCDEF'
    >>> s2 
    'ABC'
    
  • 列表的数据操作(增、删、改、查)

    • 添加数据

      • 方法
      方法名(L代表列表) 说明
      L.append(x) 向列表的末尾追加单个数据
      L.insert(index, obj) 将某个数据obj 插入到 index这个索引位置的数据之前
      L.extend(可迭代对象) 等同于: L += 可迭代对象
      • 示例

        mylist1 = [1, 3, 4]            # 目标是变成 [1, 2, 3, 4, 5]
        mylist1.append(5)               # mylist1 = [1, 3, 4, 5]
        mylist1.insert(1, 2)            # mylist1 = [1, 2, 3, 4, 5]
        mylist1.extend(range(6, 10))    # mylist1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
        
    • 修改数据(改)

      • 用索引赋值可以改变列表内的数据

      列表[整数表达式] = 表达式

      • 示例

        mylist2 = [1, 1.99, 3]   # 把1.99 改为2
        mylist2[1] = 2    # mylist2 = [1, 2, 3]
        
    • 删除数据(删)

      • 方法

        方法 说明
        L.remove(x) 从列表L中删除第一次出现在列表中的数据元素,如果x不存在则报错
        L.clear() 清空列表
        • 示例

          L = [1, 2, 3, 4, 2, 2, 3, 4]
          L.remove(3)    #  L = [1, 2, 4, 2, 2, 3, 4]
          L.remove(3)    #  L = [1, 2, 4, 2, 2, 4]
          L.remove(3)    #  报错了
          L.clear()      #  L = []
          
      • del 语句删除指定位置的数据元素

        • 语法

        del 变量名 # 删除变量,同时解除变量绑定的对象
        del 列表[整数表达式]

        • 示例

          L = ['张飞', '赵云', '鲁班7号', '孙悟空']
          del L[2]    # L = ['张飞', '赵云', '孙悟空']
          del L       # 删除L 变量
          
    • 查看(索引取值就是查看)

      print(L[0])  # 取值
      
  • 练习1

    写一个程序, 用列表保存用户输入的数据
    1. 让用户输入4个任意的整数,放入列表
    2. 在第三个整数前面插入一个100
    3. 删除列表中的第4个整数
    4. 将之前输入的第二个整数加上1 后放回原处
    5. 打印现在的列表

  • 课后练习1

    写程序,输入一个整数, 打印如下的四个三角形
    如:
    请输入: 3
    1. 打印
    *
    **
    ***
    2. 打印
    *
    **
    ***
    3. 打印
    ***
    **
    *
    4. 打印
    ***
    **
    *

  • 课后练习2

    写程序,输入一个整数,打印如下的正方形
    如:
    请输入: 4
    打印:
    1 2 3 4
    1 2 3 4
    1 2 3 4
    1 2 3 4
    请输入: 5
    打印:
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5

  • 课后练习3

    写程序,输入一个整数,打印如下的正方形
    如:
    请输入: 4
    打印:
    1 2 3 4
    2 3 4 5
    3 4 5 6
    4 5 6 7
    请输入: 5
    打印:
    1 2 3 4 5
    2 3 4 5 6
    3 4 5 6 7
    4 5 6 7 8
    5 6 7 8 9

  • 课后练习4

    已知, 局域网的IP 都是: 192.168.xxx.yyy xxx 从 0 ~ 9, yyy 从 1 ~ 254 写程序,生成 从 192.168.0.1 ~ 192.168.10.254 区间的 2540 个 IP 地址

提示用循环嵌套

相关文章

网友评论

      本文标题:break 语句、for 语句、range 函数、continu

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