while搭配和数据类型的内置方法

------------恢复内容开始------------

while搭配和数据类型的内置方法

一.while + continue

   例子:1. 使用while循环打出0--10

             count = 0

             while count < 11:

                  print(count)

                  count += 1

              2.使用while循环来打印0--10,但不打印4。

               count = 0

               while count < 11:

                    if count == 4:

                        count += 1

                        continue

                 print(count) 

                 count += 1

     ps:continue会让循环体代码直接回到条件判断处重新判断

 

while + else

     count = 0

     while count < 5 

         print(count)

         count += 1

     else:

         print(嘿嘿嘿)

 

    count = 0

    while count < 5:

        if count == 3:

            break

         print(count)

         count += 1

    else:

        print(嘿嘿嘿)                  # 始终不会执行else 子代码

 

    ps:当while循环没有被人为中断(break)的情况下才会走else

 

死循环

    while True:

        print(1)

    ps: 死循环会让cpu极度繁忙  甚至崩溃

 

for循环

    for循环能做到的事情 while循环都可以做到

    但是for循环语法更加简洁  并且再循环取值问题上更加方便

 

    例子: name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']

                # 循环取出列表的每一个元素并打印
                # while实现

                count = 0

                while count < 5:

                    print(name_list[count])

                    count+= 1

              

                  # for循环实现

                   for name in name_list:

                       print(name)

 

         for循环字符串

         for i in 'hello world':

              print(i)      

 

         for循环字典:默认只能拿到k

         d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}

         for k in d:

             print(k, d[k])                           (这样就是打印k:v)

 

    ps: for 变量名 in 可迭代对象:      (可迭代对象可以是 字串符  列表  字典  元组  集合) 

             以上就是for循环代码

        变量名如果没有合适的名称 那么可以使用i,j , k , v , item等

 

range关键字

   关键字range

   第一种:一个参数   从0开始  顾头不顾尾

   for i in rang(10):

        print(i)

   第二种:两个参数   从0开始  顾头不顾尾

   for i in rang(4, 10):

   第三种:三个参数  第三个数字用来控制等差值

   for i in rang(2, 100, 10):

       print(i)

 

   扩展知识:

        https://movie.douban.com/top250 第一页
        https://movie.douban.com/top250?start=25&filter= 第二页
        https://movie.douban.com/top250?start=50&filter= 第三页
        https://movie.douban.com/top250?start=75&filter= 第四页
        https://movie.douban.com/top250?start=0&filter= 推测第一页

        base_url = "https://movie.douban.com/top250?start=%s&filter="
        for i in range(0, 250, 25):
           print(base_url % i)

   

    # range在不同版本的解释器中 本质不同
    在python2.X中range会直接生成一个列表
    在python2.X中有一个xrange也是迭代器(老母猪)
    在python3.X中range是一个迭代器(老母猪) 节省内存空间
    '''python2.X中xrange就是python3.x里面的range'''

 

for + break

    break功能也是结束本层循环

    for i in rang(10):

        if i == 4:

            break

        print(i)

 

for + continue

    continue功能也是用于结束本次循环

    for i in rang(10):

        if == 4:

            continue

         print(i)

 

for + else

    else也是在for循环正常结束的情况下才会执行

    for i in rang(10):

        if == 4:

            break

        print(i)

    else:

        print(‘你来追我!!’)

for循环的嵌套使用   

   例子: for i in range(3):

        for j in rang(5):

            print(“*”,end='')

        print()

    例子2: for i in rang(1, 10):

                      for j in range(1, i + 1)

                          print('%s*%s=%s' % (i, j, i * j), end=' ')

                      print()

 

数据类型的内置方法

    在日常生活中不同类型的数据具有不同的功能

           eg:表格数据文件具有处理表格的各项功能(透视表 图形化 公式计算)

                   视频数据文件具有快进 加速等各项功能

                   ......

    1.整型int

               方在代码中展示出来的效果就是     名字()

               类型转换

               res = '123'

               print(type(res))                    #  <class 'str'>     字符串

               res = int(res)

               print(type(res))          #  <class 'int'>

                     int在做类型转换的时候 只能转换纯数字

                int('123.123')            # 报错  不认识小数点

                int('jason123')          #报错  不识别除数字外的数据

 

          int其实还可以做进制数转换  
          print(bin(100)) # 将十进制的100转换成二进制 0b1100100
          print(oct(100)) # 将十进制的100转换成八进制 0o144
          print(hex(100)) # 将十进制的100转换成十六进制 0x64
          0b开头为二进制数 0o开头为八进制数 0x开头为十六进制数
          print(int('0b1100100', 2))              # 100
          print(int('0o144', 8))                      # 100
          print(int('0x64', 16))                      # 100

 

浮点型float

    类型转换

    res = '123.23'

    print(type(res))

    res = float(res)                      (将res所指向的值)转换成浮点型 并重新给到变量名res

    print(type(res))

    print(float('123'))               # 123.0

 

字符串str

     类型转换

                print(str(123))

                print(str(123.21))

                print(skr([1, 2, 3, 4]))

                print(str({'name' : 'jason', 'pwd' : 123}))

                print(str((1, 2, 3, 4)))

                print(skr(True))

                print(skr({1, 2, 3, 4}))

     基本用法

                res = 'hello world'

                1.索引取值

                 print(res[1])                # e

                 2.切片操作      顾头不顾尾

                  print(res[1:4])            #ell

                 3.步长操作

                  print(res[1:10])          #ello worl

                  print(res[1:10:2])     #el ol      (隔一个取值)

                  4.索引支持负数

                   print(res[-1])              # !          (最后一位)

                   print(res[-5:-1])         # orld            顾头不顾尾

                   print(res[-5:-1:-1])     # 方向冲突

                   5.统计字符串内部字符的个数

                    print(len(res))       #12

                    6.移除字符串收尾指定的字符            strip()

                     name = '   jason   '

                     print(name, len(name))

                      print(len(name.strip()))           # 默认移除首尾的空格

 

                      name1 = '$$jason$$'

                      print(name1.strip(‘$’))                      # jason

                      print(name1.lstrip('$'))                         # jason$$        

                      print(name1.rstrip('$'))                              # $$jason

 

                      username = input('username>>>:')

                      username = username.strip()

                      username = input('username>>>:').strip()

                       if username == 'jason':

                            print('老板好')

                       else:

                            print('去你妹的')

7.按照指定的字符切割字符串 split()       该方法的结果是一个列表

              res2 = 'jason|123|18'

              print(res2.split('|'))                                   # ['jason', '123', '18']

              print(res2.split('|', maxsplit=1))               # ['jason', '123|18'] maxsplit用于控制切割的次数

               print(res2.rsplit('|', maxsplit=1))             # ['jason|123', '18']

    ps:如何查看数据类型都有哪些内置方法: 句点符(.)

 

 

while搭配和数据类型的内置方法

 

上一篇:最好的语言(5)


下一篇:列表以及其他数据类型的内置方法