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

 


  


原文地址:https://www.cnblogs.com/leiwei123/p/8329767.html