• python day 2


    1.格式化输出

    %s d

    name = input("请输入你的姓名:")
    age = int(input("请输入你的年龄:"))
    height = int( input("请输入你的身高:"))
    study = int(input("请输入你的进度:"))
    msg = "我的姓名是%s,我的年龄是%d,我的身高是%d,学习进度:%d%%"%(name,age,height,study)#两个%表示%的意思
    print(msg)

    现有一练习需求,问用户的姓名、年龄、工作、爱好,然后打印一下格式

    ------------- info of Wang Sen -------------
    Name : Wang Sen
    Age : 22
    Job : Student
    Hobby : Girls
    -------------------- end ---------------------

    你怎么实现呢?你会发现,用字符串拼接的方式很难实现这种格式的输出,所以只需要把要打印的格式先准备好,由于里面的一些信息是需要用户输入的,你没办法预知,因此可以先放置占位符,再把字符串里的占位符与外部的变量做个映射关系就好了。

    name = input("请输入你的姓名:")
    age = int(input("请输入你的年龄:"))
    job = input("请输入你的工作:")
    hobby = input("请输入你的爱好:")
    msg = '''---------info of %s ---------
    Name : %s
    Age : %d
    Job : %s
    Hobby :%s
    ----------------- end ------------------
    '''%(name,name,age,job,hobby)
    print(msg)

    2.while else 循环

    while 条件 :

      循环体

    else :

     

    count = 0 
    while count <= 5 :
        count += 1
        if count == 3 :
            break        #如果执行过程中被break了,就不会执行elsa的语句了
        print("loop",count)
    else:
        print("循环正常执行完了”)
    print("------- out of while loop -------")

    比较

    count = 0
    while count <= 5 :
        count += 1
        if count == 3 :
            pass                  #while循环正常结束后才会走else         
        print("loop",count)
    else:
        print("循环正常执行完了")
    print("----------- out of while loop -------------")

    3.初识编码

    电报、电脑的传输,存储都是01010101字母

     

    最早的密码本  ascii 涵盖了英文字母大小写,特殊字符,数字

    ascii 只能表示256种可能,太少

    创办了万国码 uncode

      16位表示一个字符不够(一开始),32位表示一个字符。中文不够32位 4个字节。占用资源多。

    unicode 升级 utf-8 utf-16 utf-32

      8位 = 1字节bytes

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

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

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

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

    gbk 中国人自己发明的,只能用于中文和ascii码中的文字。一个中文用两个字节 16位去表示。

    
    
    1bit    8bit = 1bytes
    1byte 1024byte = 1KB
    1KB 1024kb = 1MB
    1MB 1024MB = 1GB
    1GB 1024GB = 1TB

    4.逻辑运算

    针对逻辑运算的进一步研究:

      1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

     

    判断下列逻辑语句的True,False。

    1,3>4 or 4<3 and 1==1
    2,1 < 2 and 3 < 4 or 1>2 
    3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
    4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
    5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

    2 ,  x or y , x为真,值就是x,x为假,值是y;

                 x and y, x为真,值是y,x为假,值是x。

     

    例题:求出下列逻辑语句的值。

    8 or 4
    0 and 3
    0 or 4 and 3 or 7 or 9 and 6

    作业

     

    计算1-2+3...+99中除了88以外的所有数的和?

    初始版

    count = 0
    sum = 0
    while count < 99:
        count += 1
        if count %2 == 0:
            if count == 88 :
                pass
            else:
                sum = sum -count    
        else:
            sum = sum + count
    print(sum)

    优化版

    count = 0
    num = 1
    sum = 0
    while count < 99 :
        count += 1
        num += 1
        if count == 88 :
            continue
        else :
        sum = sum + count * (-1)**num
    print(sum)

    计算1-2+3...-99中除了88以外的所有数的总和

    初始版

    count = 0
    sum = 0
    while count < 99 :
        count += 1
        if count == 88 :
            continue
        elif count > 0 and count < 88 :
            if count %2 == 1 :
                sum = sum + count
            else :
                sum = sum -count
        else :
            if count %2 == 1:
                sum = sum - count
            else :
                sum = sum + count
    print(sum)

    优化版

    count = 0 
    num = -1
    sum = 0
    while count < 99 :
        count += 1
        if count == 88 :
            continue 
        else :
            num = -num
            sum = sum + count * num
    print(sum)

    用户登陆(三次输入错误机会)且每次输错时显示剩余错误次数(提示使用字符串格式化)

    初始版

    Username = "ws"
    Password = "qwe1223456"
    count = 0
    mgs = 3
    while count < 3 :
        count += 1
        user = input("请输入你的用户名:")
        password = input("请输入你的密码:")
        if user == Username and password ==Password :
            print("welcome")
        else :
            mgs = mgs - 1
            print("you have %s chance"%(mgs))

    优化版

    Username = "ws"
    Password = "qwe123456"
    count = 3
    while count > 0 :
        count -= 1 
        user = input("请输入你的用户名:")
        password = input("请输入你的密码:")
        if user == Username and password == Password :
            print('''-------welcome %s----------
         name: %s
    password: %s
        --------------- end ------------------
         '''%(Username,Username,Password)) else : print("you have %s chance"%(count)) num = input("你还有试吗【y】【n】") if num == y : count += 1 else: print("你还要不要脸")
  • 相关阅读:
    倒下
    我还能相信谁

    工作这点事
    人,这东西
    祝福
    路,公车和鞋子
    那片海
    document.querySelector bug All In One
    js logical or assignment bug All In One
  • 原文地址:https://www.cnblogs.com/qwe911/p/9797608.html
Copyright © 2020-2023  润新知