本节知识点:
1.is 和 == 的区别
2.编码的问题
一.is 和 == 的区别
1.id() 通过id我们可以查看到一个变量表示的值在内存中的地址.
s = 'alex'
print(id(s)) # int lis bool 值存在小地址池,所以等号两边的值相等.
is 是判断在内存中地址一样不一样
== 是判断等号两边的内存地址是否一样
总结:
is 比较的是内存地址
== 比较的是值
编码的补充:
编码回顾:
1. ASCII : 最早的编码. ⾥⾯有英文大写字母, 小写字母, 数字, 一些特殊字符. 没有中⽂文, 8个01代码, 8个bit, 1个byte
2. GBK: 中⽂文国标码, ⾥里里⾯面包含了了ASCII编码和中⽂文常⽤用编码. 16个bit, 2个byte
3. UNICODE: 万国码, ⾥里里⾯面包含了了全世界所有国家⽂文字的编码. 32个bit, 4个byte, 包含了了 ASCII
4. UTF-8: 可变⻓长度的万国码. 是unicode的⼀一种实现. 最⼩小字符占8位
1.英⽂文: 8bit 1byte
2.欧洲⽂文字:16bit 2byte
3.中⽂文:24bit 3byte
Day6作业及默写
#
# 1,老男孩好声⾳选秀⼤赛评委在打分的时候呢, 可以进⾏输入.假设,
# 老男孩有10个评委.让10个评委进⾏打分, 要求, 分数必须⼤于5分, ⼩于10分.
# count = 1
# dic = {}
# while count <= 10:
# grade = int(input("请-%s-号评委输入打分成绩:" % (count)))
# if grade >= 5 and grade < 10:
# dic[str(count)+"号评委"] = grade
# count += 1
# else:
# print("输入成绩不符合要求,请重新输入!")
# print(dic)
#
# 2.
# 电影投票.程序先给出⼀个⽬前正在上映的电影列表.由⽤户给每⼀个电影投票.最终
# 将该⽤户投票信息公布出来
# lst = ['⾦瓶梅', '解救吾先⽣', '美国往事', '⻄⻄⾥的美丽传说']
# 结果: {'⾦瓶梅': 99, '解救吴先⽣': 80, '美国往事': 6, '⻄⻄⾥的美丽传说': 23}
# lst = ['⾦瓶梅', '解救吾先⽣', '美国往事', '⻄⻄⾥的美丽传说']
# dic = {}
# for i in range(len(lst)):
# # print("请为<<%s>>打分:" % (lst[i+1]))
# grade = int(input("请为<<%s>>电影打分:" % (lst[i])).strip())
# dic[lst[i]] = grade
# print(dic)
# 3. 念数字.
# 给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号. 然后由用户输入一个数字.
# 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)
# dic={
# "-":"fu",
# "0":"ling",
# "1":"yi",
# "2":"er",
# "3":"san",
# "4":"si",
# "5":"wu",
# "6":"liu",
# "7":"qi",
# "8":"ba",
# "9":"jiu",
# ".":"dian"
#
# }
#
# gen = input("请输入你要读的内容:").strip()
# for i in gen:
# print("%s" % (dic.get(i)),end=" ")
# 4. 车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (升级题)
# cars = ["鲁A32444","鲁B12333","京B8988M","黑C49678","黑C46555","沪B25041"]
# locals = {"沪":"上海","黑":"黑龙江","鲁":"山东","京":"北京"}
# hu_num = 0
# hei_num = 0
# lu_num = 0
# jing_num = 0
# for str in cars:
# # print(str)
# # print(str[0])
# if str[0] == "沪":
# hu_num += 1
# elif str[0] == "黑":
# hei_num += 1
# elif str[0] == "鲁":
# lu_num += 1
# elif str[0] =="京":
# jing_num += 1
# else:
# pass
# print("%s车牌车辆数为%s %s车牌车辆数为%s %s车牌车辆数为%s %s车牌车辆数为%s;" % (locals.get("沪"),hu_num,locals.get("黑"),hei_num,locals.get("鲁"),lu_num,locals.get("京"),jing_num))
# 5. 干掉主播. 现有如下主播收益信息, 按照要求, 完成相应操作:
# zhubo = {"卢本伟":122000,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126}
#1.计算主播平均收益值
#2.干掉收入低于平均值的主播
#3.干掉卢本伟
# zhubo = {"卢本伟":122000,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126}
# count = 1
# sum = 0
# dic2 = {}
# dic3 = {}
# for i in zhubo.values():
# sum = sum + int(i)
# count += 1
# average = sum/count
# print("主播的平均收入为%s" % (average)) #平均收入----第一题
# for i in zhubo:
# print(zhubo.get(i))
# if zhubo.get(i) < int(average):
# pass
# else:
# dic2[i] = zhubo.get(i)
# print(dic2) #干掉收入低于平均值的主播----第二题
#
# #3干掉卢本伟
# del zhubo["卢本伟"]
# print(zhubo) #干掉卢本伟-----第三题
# 默写题.Unicode,gbk,utf-8的转化。
# s = "饿了么"
# print(s)
# s = s.encode("GBK") #转换成GBK编码 每个字占2个字节 -------使用某种类型编码
# print(s)
# s = s.decode("GBK") #把之前用GBK转换过后的编码再转回来,成为uncode ------反编码
# print(s)
# s = s.encode("utf-8") # 把uncode编码的转换成utf-8类型
# print(s)