zoukankan      html  css  js  c++  java
  • day003|python基础回顾3

    00 上节课回顾

    """
    1、基本数据类型
    数字类型
        int
        float
    str
    list:索引对应值
    dict:key对应值
    bool:
        1、显式的布尔值
            True
            False
            10 > 3
            'aaa' == 'aaa'
        2、隐式的布尔值
            所有数据类型的值都可以作为布尔值用
            0、空、None三类的隐式布尔值为False,其余均为True
    
    2、基本运算符
        10 / 3
        10 // 3
        10 % 3
        10 ** 3
    
        x = 1
        x += 1
        x = y = z = 10
        x, y = y,x
        x, y, *_ = [1,2,3,4,5]
    
        > >=
        < <=
        == !=
    
        not
        and
        or
    
    3、输入输出
        x = input()  # x = "xxx"
        print("%s %s
    " % (11,"aaa"),end="
    ")
    
    4、if判断
        if 条件1:
            ...
        elif 条件2:
            ...
        ...
        else:
            ...
    
    5、while循环
        while 条件:
            ...
    
        结束while循环的两种方式:
            1、将条件改为False
            2、break终止本层循环
    
        while+else:
            else的子代码块会在循环正常结束后运行
    
        while+continue:
            结束本次循环,后续都不运行,直接进入下一次
    """
    # 今日内容
    # 1、循环嵌套练习题
    # 2、for循环
    # 3、基本数据类型及内置方法
    #     数字类型
    #     字符串
    

    01 流程判断之for循环

    # names = ['egon', 'lxx', 'xc', 'zjl']
    # for i in names:
    #     print(i)
    #
    # d = {"k1": 111, "k2": 222, "k3": 333}
    # for x in d:
    #     print(x, d[x])
    
    # for:迭代循环
    # 1、遍历值
    # info = [["name", "egon"], ["age", 18], ["gender", "male"]]
    # for x, y in info:
    #     print(x, y)
    
    
    # 2、range()
    # l = [111, 222, 333]
    # for i in l:
    #     print('步骤1')
    #     print('步骤2')
    #     print('步骤3')
    
    # for i in range(3):
    #     print('步骤1')
    #     print('步骤2')
    #     print('步骤3')
    
    # range(起始位,结束位,步长)
    # range(10)  # 默认起始位为0,步长1
    # range(10, 1, -1)  # 从大到小必须指定步长
    
    # print(range(5))  # python3得到range(0,5) python2得到[0, 1, 2, 3, 4]  本质一样,但是更省内存空间
    
    
    # l = [111, 222, 333, 444, 555]
    
    # print(l[4])
    # print(l[3])
    # print(l[1])
    # print(l[0])
    
    # i = len(l) - 1
    # while i > -1:
    #     print(l[i])
    #     i -= 1
    
    # for i in range(len(l) - 1, -1, -1):
    #     print(l[i])
    
    
    # 3、for+enumerate
    # l = [111, 222, 333, 444, 555]
    # for i in enumerate(l):
    #     print(i)
    
    # 4、for+break
    # for i in range(5):
    #     if i == 3:
    #         break
    #     print(i)
    
    # 5、for+continue
    # for i in range(5):
    #     if i == 3:
    #         continue
    #     print(i)
    
    # 6、for+else  # 循环正常结束才会执行,否则不执行
    # for i in range(5):
    #     if i == 3:
    #         break
    #     print(i)
    # else:
    #     print("---------")
    #
    # for i in range(5):
    #     if i == 3:
    #         continue
    #     print(i)
    # else:
    #     print("---------")
    
    # 7、嵌套多层的for循环
    # for i in range(3):
    #     print("--------loop1------> %s" % i)
    #     for j in range(5):
    #         print("loop2--------> %s" % j)
    

    02 可变与不可变类型

    """
    1、可变类型(不可hsah类型)
        值改变的情况下,内存地址/id不变
        证明改变的就是原值,即可变类型
    2、不可变类型(可hash类型)
        值改变的情况下,内存地址也变
        证明产生了新的值,即原值不可变
    """
    # 1、可变类型的情况
    x = 10
    print(id(x))
    x = 12
    print(id(x))
    
    # 2、不可变类型的情况
    l = [111, 222]
    print(id(l))
    l[0] = 3333
    print(id(l))
    

    03 基本数据类型及内置方法之数字类型

    # 1、整型int的基本使用
    # 1.1 用途:年龄、等级、号码
    # 1.2 定义方式
    # age = 18  # age = int(18)
    # 数据类型转换
    # x = int("   103   ")  # 把纯数字组成的字符串转换成int类型(前后的空格无所谓,中间不能有空格)
    # print(x, type(x))
    # 1.3 常用操作及内置方法
    # + - * / % > <=
    # 2、总结
    # 2.1 只能存一个值
    # 2.2 是不可变类型
    
    
    # 3、浮点型float基本使用
    # 3.1 用途:身高、体重、薪资等
    # 3.2 定义方式
    # salary = 3.3  # salary = float(3.3)
    # 数据类型转换
    # x = float("   3.3    ")
    # print(x, type(x))
    # 3.3 常用操作及内置方法
    # + - * / % > <=
    # 4、总结
    # 4.1 只能存一个值
    # 4.2 是不可变类型
    # x = 3.1
    # print(id(x))
    # x = 3.3
    # print(id(x))
    
    
    # 复数(了解)
    # x = 2 + 3j
    # print(x, type(x))
    # print(x.real)
    # print(x.imag)
    
    
    # 进制
    # 十进制:0~9
    # 二进制:0~1
    # 八进制:0~7
    # 十六进制:0~9 a b c d e f
    
    # 十进制<---二进制
    # 1011
    # 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
    #   8   +   0   +   2   +   1   = 11
    # 十进制<---八进制
    # 1011
    # 1*8^3 + 0*8^2 + 1*8^1 + 1*8^0
    #  512  +   0   +   8   +   1   = 521
    # 十进制<---十六进制
    # 1011
    # 1*16^3 + 0*16^2 + 1*16^1 + 1*16^0
    #  4096  +    0   +   16   +   1   = 4113
    
    # 十进制--->二进制(除二取余)
    # 11
    # 11/2=5-1
    # 5/2=2-1
    # 2/2=1-0
    # 最终得到1011
    
    # 十进制--->八进制(除八取余)
    # 十进制--->十六进制(除十六取余)
    
    print(bin(11))  # 十进制转二进制
    print(oct(11))  # 十进制转八进制
    print(hex(11))  # 十进制转十六进制
    
    print(int("11", 2))   # 二进制转十进制
    print(int("11", 8))   # 八进制转十进制
    print(int("11", 16))  # 十六进制转十进制
    

    04 基本数据类型及内置方法之字符串类型

    # 1、字符串str的基本使用
    # 1.1 用途:记录一些描述性质的内容,如国籍、名字、一段话等
    
    # 1.2 定义方式
    # msg = "abc"  # msg = str("abc")
    # 数据类型转换
    # res = str(111)  # 可以把所有类型转换成字符串类型
    # print(res, type(res))
    
    # 1.3 常用操作及内置方法
    # 按索引取值(正向取+反向取):只能取
    # msg = "hello world"
    # print(msg[0])
    # msg[0] = "H"  # 不能改
    
    # 切片(顾头不顾尾,步长)
    # msg = "hello world"
    # print(msg[3:5])
    # print(msg[3:8:2])
    # print(msg[-1:2:-2])
    # print(msg[::2])
    # print(msg[-1::-1])
    
    # 长度len:统计的是字符个数
    # msg = "h e你"
    # print(len(msg))  # 4(一个空格、一格中文字符都是一个字符)
    
    # 成员运算in和not in
    # msg = "hello world"
    # print("he" in msg)          # True
    # print("d" in msg)           # True
    # print("hd" in msg)          # False
    # print("hd" not in msg)      # True
    
    # 移除空白strip(只会移除两边,不会移除内部)
    # name = "          cc c       "
    # print(name.strip())       # cc c
    # print(name)               #           cc c
    # name = "**********ccc***********"
    # print(name.strip("*"))      # ccc
    # x = "*-/+()=abc*(-)/*"
    # print(x.strip("-+*/(=)"))   # abc
    #
    # name = input("username>>>:").strip()
    # pwd = input("password>>>:").strip()
    # if name == "ccc" and pwd == "123":
    #     print("ok")
    # else:
    #     print("error")
    
    # 切分split
    # info = "root: 123: 2: 0"
    # res = info.split(":", 1)
    # print(res[0])
    # print(res)
    
    # 循环
    # msg = "hello"
    # for i in msg:
    #     print(i)
    
    
    # 2、总结
    # 2.1 只存一个值
    # 2.2 是有序的
    # 2.3 不可变
    

    05 test

    # 打印九九乘法表
    # for i in range(1, 10):
    #     for j in range(1, i + 1):
    #         print("%s*%s=%s" % (i, j, i * j), end=' ')
    #     print()
    
    # 打印金字塔
    # 最高层 = 5
    # 空格数 = max_level - current_level
    # *号数 = 2 * current_level - 1
    # max_level = 5
    # for current_level in range(max_level):
    #     for i in range(max_level - current_level):
    #         print(' ', end='')
    #     for j in range(2 * current_level - 1):
    #         print('*', end='')
    #     print()
    
  • 相关阅读:
    linux 彻底删除文件及 find命令permission refused问题解决
    ubuntu系统中dpkg lock问题分析及解决
    ubuntu server18.04 更换默认源为阿里源-加速
    docker安装与卸载( liunx )
    ubuntu下dpkg lock问题
    docker pull报x509问题及docker启动失败问题解决
    windows 常用命令行操作
    uwsgi运行django应用是报错no app loaded. going in full dynamic mode
    internal server error原因及解决
    docker-compose启动容器后执行脚本或命令不退出 | 运行内部程序
  • 原文地址:https://www.cnblogs.com/caojiaxin/p/14008315.html
Copyright © 2011-2022 走看看