• python基础2


    1,字符串格式化输出

          通过放置个占位符,再把字符串里的占位符与外部的变量做个映射关系。%s就是代表字符串占位符,除此之外,还有%d,是数字占位。

    方法一:如下程序

    name=input("请输入姓名:") age=int(input('请输入年龄:')) score=int(input("请输入成绩")) msg="我叫%s,年龄%d,成绩%d" %(name,age,score) print(msg)

    方法二:如下程序

    name1=input("请输入姓名:")
    age1=input('请输入年龄:')
    score1=input("请输入成绩")
    dic={"name":name1,"age":age1,"score":score1}
    print(dic)
    msg='我叫%(name)s,今年%(age)s岁,成绩为%(score)s分' %dic
    print(msg)

    ps:格式化输出时,出现%默认为就是占位符的%,但若格式化输出的字符串本身含有%,怎么办呢?只用在其后面再加一个%就可以了。

    如下程序:

    msg = '我叫%s,今年%d岁,学习进度为2%%' %("张三",21)
    print(msg)

    2,逻辑运算符

         逻辑运算符and ,or ,not , 其优先级为:在没有()的情况下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

    按照优先级的顺序进行判断,结果分别为:False True True False False False

    类型二:前后都是数字

    print(1 or 2)
    print(2 or 3)
    print(0 or 2)
    print(0 or 3)
    print(1 and 2)
    print(0 and 3)

    其结果为:1,2,2,3,2,0

    ps: x or y , x为真,值就是x,x为假,值是y

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

    3,编码的问题    

          python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8,ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

         显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

         Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
    注:此处说的的是最少2个字节,可能更多

        UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存。

       UTF-16 用最少用16位数,去表示一个字符。

       GBK:国标,只能中国人自己用, 一个中文用16位,两个字节表示。

     4,单位转化关系

    1bytes==8bit

    1024bytes == 1kB

    1024KB == 1MB

    1024MB == 1GB

    1024GB == 1TB

    五:练习题:

    1,写代码:计算 1 - 2 + 3 ... + 99 中除了88意外所有数的总和

    sum=0
    start=0
    while start < 99:
        start=start+1
        if start%2 == 1:
            sum=sum+start
        elif start==88:
            pass
        else:
            sum=sum-start
    print(sum)
    View Code

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

    start = 0
    while start<3:
        name = input("请输入用户名:")
        password = input("请输入密码:")
        if name == "hello" and password == "666":
            break
        else:
            start=start+1
            num=3-start
            print("用户名或密码输入错误,请重新输入")
            msg=('你还剩余%d次机会') %(num,)
            print(msg)
    print("用户名和密码输入正确")
    View Code

    3, 制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx

    name = input('请输入你的名字:')
    where = input('请输入地点:')
    hobby = input('请输入你的爱好:')
    msg = '敬爱可亲的%s,最喜欢在%s干%s' %(name,where,hobby)
    print(msg)
    View Code

    4,等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏

    感字符:“⼩粉嫩”、“⼤铁锤。

    while True:
        content=input("请输入内容:")
        if "⼩粉嫩" or "⼤铁锤" in content:
            print("存在敏感字符请重新输⼊")
    View Code

     


      

    
    
  • 相关阅读:
    【go语言学习】标准库之sync
    【go语言学习】并发实现
    【go语言学习】并发概念
    【html学习】html基础
    【go语言学习】错误error和异常panic
    【go语言学习】type关键字
    【go语言学习】面向对象oop
    【go语言学习】接口interface
    【go语言学习】结构体struct
    【go语言学习】指针pointer
  • 原文地址:https://www.cnblogs.com/leiwei123/p/8329767.html
Copyright © 2020-2023  润新知