基础 day05

day05笔记:

今天内容:

  for 语句

  continue 语句

  列表 list

 

 

for 语句

   for语(遍历 所有的事情走且只走一次  --从头到尾)

  作用:

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

      可迭代对象是指能依次获取数据元素的对象

  可迭代对象包括:

    字符串str

    ----以下后再才讲----

    列表 list

    元组 tuple

    字典 dict

    集合 set

    range函数返回的对象等

  语法:

    for 变量列表 in 可迭代对象:

        语句块1

    else:

        语句块2

 

练习:

  1. 任意输入一个字符串:

    1) 计算您输入的空格的个数,并打印出来

    2) 计算您输入的'a' 字符的个数,并打印出来

      (要求用for语句实现)

    思考:

      while语句能否实现上述功能?

 

 

range 函数

  格式:

    : >>> help(range)

 

  函数

    range(stop)从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)

    range(start, stop[, step])  从start开始,每次生成一个整数后移动step, 直到stop为止(不包含stop, 且step可以是负整数)

 

  作用:

    用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)

  示例:

    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

    range(4, 0)      # 生成空

 

练习:

   1. 用for 语句打印 1 ~ 20, 打印在一行内

 

   2. 用for 语句打印 1 ~ 20, 每5个打印在一行内

 

练习:

  1. 求 100 以内在哪些数与 自身+1的乘积对11求余的结果等于8

 

  2. 计算 1 + 3 + 5 + 7 + .... +97 + 99的和

    分别用for 和 while 循环语句来实现

 

for 语句的注意事项:

  # 请问下面程序的打印结果是什么:

    i = 6

    for x in range(1, i):

        print('x =', x, 'i=', i)

        i -= 1  # <<<---注意此处

  结果:

    x = 1 i= 6

    x = 2 i= 5

    x = 3 i= 4

    x = 4 i= 3

    x = 5 i= 2  

 

 

如下语句的执行结果是什么?为什么?

  for x in range(4, 0):

      print(x)

  print('x绑定', x)  # <<<此处打印什么?

 

 

for 语句的嵌套

  示例:

    for x in "ABC":

        for y in '123':

            print(x + y)

思考:

  for x in range(5):

     for y in range(10):

         print('hello')  # <<请问打印多少次?

 

练习:

  1. 输入一个整数n,打印一个对应的正方形:

    如:

      请输入: 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

    打印:

      1 2 3

      1 2 3

      1 2 3

  . 输入一个整数n,打印一个对应的正方形:

    如:

      请输入: 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

      请输入: 3

    打印:

      1 2 3

      2 3 4

      3 4 5

 

 

问题

  如何让程序不再向下执行,重新开始一次新的循环

 

continue 语句

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

 

  说明:

    1. 在for 语句中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次开始执行

    2. 在while语句中执行continue,将会直接跳转到 while语句的真值表达式处重新判断循环条件

  示例见:

    continue.py

    continue2.py

    continue_while.py

 

练习:

  输入一个起始数用start绑定, 输入一个结束数用stop绑定

  打印start 到 stop(不包含stop)内的所有的奇数

    (用什么方法都可以)

 

练习:

  2, 求 1 ~ 100 之间所有不能被 5, 7, 11 整除的数以及这些数的和

 

循环语句总结:

  while 语句

      可以用于死循环

  for 语句

      用于可迭代对象的循环

        (字符串, range()返回的对象)

  break 语句:

      用于终止当前循环

  continue 语句:

      用于开始一次新的循环

 

 

 

列表 list

  问题:

    如何将计算机运算的数据临时存入一个地方,同时又方便添加,删除,修改等操作

 

列表的定义:

    列表是一种容器

    列表是序列的一种

    列表是可以被改变的序列

    列表中由一系列特定元素组成的,元素与元素之间可以没有任何的关联关系,但他们之间有先后顺序关系

 

创建空列表的字面值

   L = []  # L变量绑定空列表

创建非空列表的字面值

  L = [1, 2, 3, 4]

  L = ['Beijing', 'Shanghai', 'Shenzhen']

  L = [1, 'Two', 3.14, '四']

  L = [1, 2, [3.1, 3.2, 3.3], 4]

 

列表的构造(创建)函数 list

  list()          生成一个空的列表,等同于 []

  list(iterable)  用可迭代对象创建一个列表

 

示例:

  L = list()  # L绑定空列表

  L = list("hello")  # L绑定['h', 'e', 'l', 'l', 'o']

  L = list(range(1, 10, 2))

列表的运算:

  算术运算:

    +  +=  *  *=

  + 用于拼接列表

    x = [1, 2, 3]

    y = [4, 5, 6]

    z = x + y  # z = [1,2,3,4,5,6]

  +=  用原列表与左侧列表拼接,用变量绑定拼接后的列表

    x = [1,2,3]

    x += [4,5,6]

    print(x)

  * 生成重复的列表

    x = [1, 2] * 3  # x = [1,2,1,2,1,2]

  x *= y 等同于 x = x * y

 

列表的比较运算:

  运算符:

    <  <=  >  >=  ==  !=

  比较的规则同字符串的规则相同

    x = [1, 2, 3]

    y = [1, 2, 4]

    x != y  # True

    x <= y  # True

    y > x   # True

    ["AB", 'abc', '123'] < ['AB', '123', 'abc']

    [1, 'two'] > ['two', 1]  # TypeError

 

列表的 in / not in 运算符

  作用:

    判断一个值是否存在于列表中。如果存在返回True, 否则返回False

    not in 的返回值与 in 运算符相反

  示例:

    2 in [1, 2, 3, 4]  # True

    '2' in [1, 2, 3, 4]  # False

 

列表是可迭代对象:

    for x in [2, 3, 5, 7]:

        print(x)  # x绑定列表内的元素

 

练习:

  1. 输入三行文字,将这三行文字保有存于列表L中,并打印

    :

    请输入:abc<回车>

    请输入:1234<回车>

    请输入:你好<回车>

    生成如下列表:

        ['abc', '1234', '你好']

    print(L)  # 打印

  2. 输入任意行文字,存于列表L中,当不输入内容回车后退出输入,

    1) 打印L列表中的内容

    2) 计算您共输入的几行内容

    3) 计算您共输入了多少个字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值