• Python学习


    1、昨日作业讲解

    # -*-  相关练习1 -*-
    # 使用while循环输入1234568910
    
    count = 0
    while count < 10:
        count += 1
        if count == 7:
            pass
        else:
            print(count)
    # -*-  相关练习6 -*-
    # 用户登陆(三次机会重试)
    
    i = 0
    while i < 3 :
        usename = input("请输入您的账号:")
        password = int(input("请输入您的密码:"))
        if usename == "上帝" and password == 110 :
            print("登陆成功!")
        else :
            print("登录失败!请重新登陆")
        i += 1

    2、格式化输出

      1)、案例

    name = input("请输入您的姓名:")
    age = input("请输入您的年龄:")
    height = input("请输入您的身高:")
    msg = "我叫%s 今年%s岁 我的身高是%s" %(name,age,height)
    print(msg)
    name = input("请输入您的姓名:")
    age = input("请输入您的年龄:")
    job = input("请输入您的工作:")
    hobble = input("请输入您的爱好:")
    
    msg = '''----------     info of %s     ----------
    Name    :   %s
    Age     :   %d
    Job     :   %s
    Hobble  :   %s
    ----------    end     ----------''' %(name,name,int(age),job,hobble)
    print(msg)

      2)、转义字符  —  %

      

      3)、%,占位符;%s,字符串;%d,数字

        %%  只是单纯的显示%

    3、while...else...

      当while循环被break打断,就不会执行else的结果

    count = 0
    while count <= 5 :
        count += 1
        if count == 3:
            break
        print("Loop",count)
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:
            pass
        print("Loop",count)
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")

    4、初始编码

      1)、电报、电脑的传输,存储都是01010101

      2)、ASCII码,涵盖了英文字母大小写,特殊字符,数字。只能表示256种可能。

      3)、unicode,万国码,32位表示一个字符

      4)、utf-8  一个字符最少用8位去表示,英文用8位  一个字节

              欧洲文字用16位去表示            两个字节

              中文用24位去表示           三个字节

           utf-16  一个字符最少用16位去表示

      5)、gbk,中国人自己发明的,一个中文用两个字节16位去表示

    5、运算符

      1)、算术运算符

        +  加法运算,将运算符两边的操作数相加

        -   减法运算,将运算符左边的操作数减去右边的操作数

        *   乘法运算,将运算符两边的操作数相乘

        /    除法运算,用右操作数除左操作数

        %  模运算,用右操作数除左操作数并返回余数

        **  幂运算,对运算符进行指数(幂)计算

        //   整除运算,其结果是删除小数点后的商数。

      2)、比较(关系)运算符

        ==  如果两个操作数的值相等,则条件为真。

        !=   如果两个操作数的值不相等,则条件为真。

        >    如果左操作数的值大于右操作数的值,则条件为真。

        <    如果左操作数的值小于右操作数的值,则条件为真。

        >=  如果左操作数的值大于或等于右操作数的值,则条件为真。

        <=  如果左操作数的值小于或等于右操作数的值,则条件为真。

      3)、赋值运算符

        =    将右侧操作数的值分配给左侧操作数

        +=  将右操作数相加到左操作数,并将结果分配给左操作数

        -=   从左操作数中减去右操作数,并将结果分配给左操作数

        *=   将右操作数与左操作数相乘,并将结果分配给左操作数

        /=   将左操作数除以右操作数,并将结果分配给左操作数

        %=  将左操作数除以右操作数的模数,并将结果分配给左操作数

        **=   执行指数(幂)计算,并将值分配给左操作数

        //=    运算符执行整除运算,并将值分配给左操作数

      4)、逻辑运算符

        and  如果两个操作数都为真,则条件成立

        or     如果两个操作数中的任何一个非零,则条件成立

        not   用于反转操作数的逻辑状态

      5)、按位运算符

        &    按位与,如果它存在于两个操作数中,则操作符复制位到结果中

        |      按位或,如果它存在于任一操作数,则复制位

        ^      按位异或,如果它是一个操作数集合,但不是同时是两个操作数则将复制位

        ~     按位取反,二进制补码,它是一元的,具有“翻转”的效果

        <<      按位左移,左操作数的值由右操作数指定的位数左移

        >>    按位右移,左操作数的值由右操作数指定的位数右移

      6)、成员运算符

        in    如果在指定的序列中找到一个变量的值,则返回true,否则返回false

        not in   如果在指定序列中找不到变量的值,则返回true,否则返回false

      7)、身份运算符

        is    如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False

        is not   如果运算符任一侧的变量指向不同的对象,则返回True,否则返回False

      8)、运算符优先级

        N1、**    幂运算

        N2、~  +  -  取反,一元加减

        N3、*  /  %  //  乘运算、除运算、取模、整除

        N4、+  -    加运算,减运算

        N5、>>  <<    按位左移,按位右移

        N6、&    按位与

        N7、^  |    按位异或,按位或

        N8、<=  >=  >  <    比较运算

        N9、==  !=(<>)    等于运算符

        N10、=  %=  /=  //=  -=  +=  *=  **=    赋值运算符

        N11、is  is not    身份运算符

        N12、in  not in    成员运算符

        N13、not  and  or  逻辑运算符

    '''x or y x True,则返回x'''
    print(0 or 4 and 3 or 2)    #3
    
    '''x and y x True,则返回y'''
    print(3 > 1 or 2 and 2)     #True

    6、类型转换

    #int  ----> bool   非零转换成bool True   0 转换成bool 是False
    print(bool(2))  #True
    print(bool(-2)) #True
    print(bool(0))  #False
    
    #bool --->int
    print(int(True))   # 1
    print(int(False))  # 0

    7、相关练习

    # -*-  相关练习1 -*-
    # 计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和
    
    i = 1
    sum = 1
    while i < 99:
        i += 1
        if i % 2 == 0:
            if i != 88:
                sum -= i
            else:
                continue
        else:
            sum += i
    print(sum)
    # -*-  相关练习2 -*-
    #⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
    
    i = 3
    userName = "SharkJiao"
    userPassword = "110110"
    while i > 0:
        i -= 1
        name = input("请输入您的用户名:")
        if name == userName:
            password = input("请输入您的密码:")
            if password == userPassword:
                print("正在登陆,请耐心等待...")
                print('''恭喜您,登陆成功!
                欢迎用户回来!
                用户名:%s
                密码:%s
                '''%(name,password))
                break
            else:
                if i == 0:
                    print("您的账号已锁定,请联系管理员登陆!")
                    answer = input("再试试?Y or N")
                    if answer == 'Y':
                        i =3
                else:
                    print("您还剩"+str(i)+"次机会,请谨慎使用!")
        else:
            if i == 0:
                print("您的账号已被锁定,请联系管理员登陆!")
                answer = input("再试试?Y or N")
                if answer == "Y":
                    i = 3
            else:
                print("您还剩" + str(i) + "次机会,请谨慎使用!")
    else:
        print("你TM还要不要脸...")
  • 相关阅读:
    P1121 环状最大两段子段和
    无题
    cdoj 1485 柱爷搞子串 sam treap
    自然数幂和
    Gym 100341C AVL Trees NTT
    线性筛分解质因子
    codeforces 366 Ant Man dp
    UVALive 6914 Maze Mayhem 轮廓线dp
    hdu 5790 Prefix 字典树 主席树
    莫比乌斯反演个人小结
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/9316846.html
Copyright © 2020-2023  润新知