Python入门基础(第4天):(is和==)d的区别及编码和解码

一、is和==的区别

(1)==的用法

1. == 比较(True或者False)    比较的是值
#例:
    a='he'
    b='he'
    print(a==b)     #True

(2)is的用法

2.  is  是    比较(True或者False)    比较的是内存地址
#例:
#(1).小数据池    数字小数据池的范围:-5 ~ 256  (超过为False)  
    a=4
    b=4
    print(id(a))     #查看内存地址
    print(a is b)   #True

#(2).字符串中如果包含特殊字符内存地址则不一样
    a='he@'
    b='he@'
    print(a is b)   #False

#(3).单个字符串*20(含)以内的数字内存地址一样(<=20)
    a='h'*20
    b='h'*20
    print(a is b)   #True 

二、编码和解码

Python3中程序运行阶段,使用的是Unicode  显示所有内容
bytes类型
    传输和存储都使用bytes
    pycharm存储的时候默认使用utf-8

(1)编码

s='he'
print(s.encode('utf-8'))     #编码    指定编码的类型
s="何"   #中文下一个中文占三字节

(2)解码

s="远远方"
s1=s.encode('utf-8')    #编码
s2=s1.decode('utf-8')   #解码     用什么编码类型就必须使用相同的类型解码
print(s2)

 作业练习:

(1)让十个评委进行打分,分数必须大于5分,小于10分

#让十个评委进行打分,分数必须大于5分,小于10分
count=1
while count<=10:
    fen=int(input("<请第%s个评委打分>:"% count))
    if fen>10 or fen<5:
        print("是不是傻?重新打分!")
        continue
    else:
        print("第%s号评委分数为:%s"%(count,fen))
    count+=1

(2)给一组列表内的电影进行打分,然后组成新的字典

# 给一组列表内的电影进行打分,然后组成新的字典
lst=["庆余年","唐人街探案3","人名的名义","决胜法庭","精英律师"]
dict={}
for i in lst:
    fen=int(input("<请给[%s]打分:>"% i))
    dict[i]=fen
print(dict)

(3)设计一个字典,用户输入内容作为“键”,然后输出字典中对应的“值”。如果用户输入的“键”不存在,则输出“您输入的键不存在”

# 设计一个字典,用户输入内容作为“键”,然后输出字典中对应的“值”。如果用户输入的“键”不存在,则输出“您输入的键不存在”
dic={0:"ling",1:"yi",2:"er",3:"san",4:"si",5:"wu",6:"liu",7:"qi",8:"ba"}
for i in dic.keys():
    content=int(input("内容:"))
    print (dic.get(content,"不在字典中!"))
    break

(4)根据车牌信息统计分析出各省车辆的数量

# 根据车牌信息统计分析出各省车辆的数量
cars=["川A123456","川B456789","闵A12341","鲁A4545","鲁C4554","川C1111","云A1245"]
locals={"":"山东","":"四川","":"福建","":"云南"}
result={}
for i in cars:
    chepai=i[0]  #获取首元素
    location=locals[chepai]  #地区
    #统计
    if result.get(location)==None:  #如果当前字典中不存在该车辆,则为空
        result[location]=1  #加入第一个车牌
    else:
        result[location]+=1 #第n辆车
print(result)

(5)要求:1.计算平均收益 2.删除收益小于平均值的主播 3. 删掉卢本伟

"""
要求:1.计算平均收益
"""
zhubo={"卢本伟":999,"冯提莫":45754,"小何":45458,"小东":45678,"小洋":98765}
sum=0
for i in zhubo.values():
    sum=sum+i
print(round(sum / len(zhubo))) #round()四舍五入取整

# 2.删除收益小于平均值的主播
dict={} #存储小于平均值的人
for i,j in zhubo.items():
    if j<round(sum/len(zhubo)):
        dict=[i]
for j in dict: #循环新字典
    del zhubo[j]
print(zhubo)

# 3. 删掉卢本伟
del  zhubo["卢本伟"]
print(zhubo)
posted @ 2020-02-20 15:38  全村的希望、  阅读(632)  评论(0编辑  收藏  举报