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还要不要脸...")
原文地址:https://www.cnblogs.com/SharkJiao/p/9316846.html