一. 上次课内容回顾
字典:
由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据
key: 不可变的. 可哈希的.
增删改查:
1. 增加: 直接用新key来赋值. dict[key] = value setdefault()
2. 删除: pop(key), popitems(), clear(), del dict[key]
3. 修改: dict[key] = value, update()
4. 查询: get(key) dict[key] setdefault()
5. 常用操作:
1. keys() 拿到所有的key
2. values() 拿到所有的value
3. items() 拿到所有的键值对. (key, value)

6. 字典的遍历
for k,v in dict.items():

for k in dict:
dict[k]

二. 作业讲解
三. 今日主要内容
1. 小数据池.
目的:缓存我们字符串,整数,布尔值。在使用的时候不需要创建过多的对象
缓存:int, str, bool、
int: 缓存范围 -5~256
str:
1. 长度小于等于1,直接缓存
2. 长度大于1. 字符串中如果只有数字, 字母, 下划线。 就会缓存
3. 乘以1。 同上, 乘以大于1的数。仅包含数字,字母下划线。最终长度小于20会缓存
4. 使用sys模块中的intern()缓存字符串
代码块的关系:如果在同一个代码块中。默认的整数和字符串还有布尔值都会进行缓存. 如果涉及计算。尊崇上面的规则
如果跨代码块,按照上面的规则执行的
2. is和==的区别
is比较的是内存地址
==比较的是值
3. decode和encode
python3内存中使用的是unicode。
unicode => utf-8 encode("utf-8")
utf-8 => unicode decode("utf-8")
utf-8和gbk不能直接转换
bytes是字符串的另一种表示形式

预习:
list和dict相关操作
set集合(粗略的看一看)
深浅拷贝(难)

1,老男孩好声⾳选秀⼤赛评委在打分的时候呢, 可以进⾏输入. 假设, 老男孩有10个评委. 让10个评委进⾏打分, 要求, 分数必须⼤于5分, ⼩于10分.
score_list=[]
count=0
welcome='''*******Welcome*******
欢迎大家给老男孩好声选秀大赛评分!
'''
print(welcome)
sum=0
while count>=0 and count<10:
    count += 1
    score=input("请第%s位评委输入评分:" % (count))
    if score.isdigit():
        score=float(score)
        if score>5 and score<=10:
            score_list.append(score)
        else:
            print("输入的分数不妥,请重新输入")
            count=count-1
            continue
    else:
        print("输入不合法!")
        count = count - 1
        continue
score_list.sort()
min=score_list.pop(0)
max=score_list.pop()
for i in range(len(score_list)):
    sum +=float(score_list[i])
print("""
*******分数*******
去掉一个最低分%s
去掉一个最高分%s
左后得分是>>>>%s
"""%(min,max,sum/len(score_list)))

2.

电影投票. 程序先给出个前正在上映的电影列表. 由用户给每个电影投票. 最终将该户投票信息公布出来  lst = ['⾦瓶梅', '解救吾先⽣', '美国往事', '西西里的美丽传说']  结果: {'⾦瓶梅': 99, '解救吴先⽣': 80, '美国往事': 6, '西西里的美丽传说': 23}
lst = ['瓶梅', '解救吾先⽣', '美国往事', '西西里的美丽传说']
score_list={}
print("请客观公正的给一下电影进行评分!")
for i in range(len(lst)):
    score=input("请给>>%s<<<输入你的评分"%(lst[i]))
    score_list.setdefault(lst[i],score)
print(score_list)
3.念数字.给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号. 然后由用户输入一个数字. 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)
dict={
    "-":"fu",
    "0":"ling",
    "1":"yi",
    "2":"er",
    "3":"san",
    "4":"si",
    "5":"wu",
    "6":"6",
    "7":"qi",
    "8":"ba",
    "9":"jiu",
    ".":"dian",
}
num=input("请输入一个整数")
if num.isdigit() or num.startswith("-"):
    for numi in num:
        for k ,v in dict.items():
            if numi ==k:
                print(v,end=" ")

else:
    print("你咋不听话捏?重新运行输入数字")
4.车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量.
cars=["鲁A32444","鲁B12333","京B8989M","黑C46555","沪B25041","沪B25041","湘B25041","贵A2345","贵A2345","贵A2345"]
locals={"沪":"上海","黑":"黑龙江","鲁":"山东","鄂":"湖北","湘":"湖南","京":"北京","贵":"贵州"}
list=[]
str="_"
count_car={}
count_car1={}
for  first in cars:
    list.append(first[0])
str=str.join(list)
for key,value in locals.items():
    count_car.setdefault(value,str.count(key))
for key2, value2 in count_car.items():
    if value2!=0:
        count_car1.setdefault(key2,value2)
print(count_car1)
cars=["鲁A32444","鲁B12333","京B8989M","黑C46555","沪B25041","沪B25041","湘B25041"]
locals={"沪":"上海","黑":"黑龙江","鲁":"山东","鄂":"湖北","湘":"湖南","京":"北京","贵":"贵州"}
list=[]
str="_"
count_car={}
for  first in cars:
    list.append(first[0])
str=str.join(list)
for key,value in locals.items():
    count_car.setdefault(value,str.count(key))
print(count_car)

5干掉主播. 现有如下主播收益信息, 按照要求, 完成相应操作:

zhubo={"卢本伟":12200,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126,}

sum=0
for k,v in zhubo.items():
    sum+=v
print("主播的平均工资:%s"%(sum/len(zhubo)))
dict1={}zhubo={"卢本伟":12200,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126,}sum=0for k,v in zhubo.items():    sum += v    avr=sum/len(zhubo)print(avr)for k,v in zhubo.items():    if v>avr:        dict1.setdefault(k,v)print(dict1)
zhubo={"卢本伟":12200,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126,}
zhubo.pop("卢本伟")
print(zhubo)

												

day06 小数据池和编码的更多相关文章

  1. python学习笔记:第6天 小数据池和编码转换

    目录 1. id 和 == 2. 小数据池 3. 编码和解码 1. id 和 == id:id是一个内置的函数,可以查看变量存放的内存地址(实际上不是真正的物理地址,这里暂时这样理解),用于判断是变量 ...

  2. day06——小数据池、深浅拷贝、集合

    day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # a = 10 # b = 10 # print(a == b) ...

  3. day06 小数据池,再谈编码

    今日所学 一.  小数据池 二.  is 和==的区别 三.  编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块 ...

  4. python 浅谈小数据池和编码

    ⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...

  5. python:id与小数据池与编码

    一.id与小数据池 id:查的是内存地址 a = 100 b = 100 print(a == b)#比较的数值 print(a is b)#比较的是id print(id(a),id(b))#id相 ...

  6. 06_python_小数据池/ is == /编码

    一.小数据池 1.代码块 python程序是由代码块构成的.一个代码块的文本作为python程序执行的单元.代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一 ...

  7. 《Python》 代码块、小数据池和编码转换

    一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行 ...

  8. python基础4(小数据池,编码,深浅拷贝)

    1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num ...

  9. 6,id 小数据池,编码and解码。

    asscii :8位(数字,英文,特殊字符)表示一个字符. A:0000 0001 unicode :(万国码)初期:16位,两个字节,表示两个字符. A:0000 0001 0000 0001 中: ...

随机推荐

  1. 自己在UWP程序上调用usb转串口的路程

    之前一直是在普通的framework环境下写串口,使用的类为 SerialPort 这个类大家可能比较熟悉.但是在UWP的开发里,使用的是 SerialDevice 这个类,是不一样的. 1. 清单文 ...

  2. WPF 动画:同为控件不同命 - 简书

    原文:WPF 动画:同为控件不同命 - 简书 1. 及格与优秀 读大学的时候,有一门课的作业是用 PPT 展示. 但是我们很多同学都把 PPT 当做 Word 来用,就单纯地往里面堆文字. 大家都单纯 ...

  3. 系统分析与设计——WordCount

    成果: https://gitee.com/ZMLJZ/codes/0k19q4upgmrfde265l7vx36 作业要求: 根据WordCount的需求描述,先编程实现,再编写单元测试,最后撰写博 ...

  4. 成都优步uber司机客户端下载-支持安卓、IOS系统、优步司机端Uberpartner

    国外打车软件优步乘客端大家在手机应用商店里都可以下载到,但是优步司机的App却不好找下载地址:这就跟滴滴打车一样,滴滴的乘客端是滴滴打车,而司机端是滴滴专车,司机版本在应用商店里都找不到,原因不清楚. ...

  5. 「PKUWC2018」Minimax

    题面 题解 强势安利一波巨佬的$blog$ 线段树合并吼题啊 合并的时候要记一下$A$点权值小于$l$的概率和$A$点权值大于$r$的概率,对$B$点同样做 时空复杂度$\text O(nlogw)$ ...

  6. 【LG4103】[HEOI2014]大工程

    [LG4103][HEOI2014]大工程 题面 洛谷 题解 先建虚树,下面所有讨论均是在虚树上的. 对于第一问:直接统计所有树边对答案的贡献即可. 对于第\(2,3\)问:记\(f[x]\)表示在\ ...

  7. underscore.js 源码分析5 基础函数和each函数的使用

    isArrayLike 检测是数组对象还是纯数组 var property = function(key) { return function(obj) { return obj == null ? ...

  8. 一步步带你配置IIS(包括错误分析)

    今天趁着工作中的问题一下子来解决IIS配置 发布网站:点击VS发布网站 第一步:新建配置文件(我取名为webSite) : 第二步:选择发布方法并且选择把文件发布到哪里(比喻在D盘创建一个文件夹web ...

  9. Java的安装与配置

    安装JAVA 下载JAVA JDK安装包,JDK是Java Development Kit的缩写,即开发工具包,里面包含了平时用户用到的JRE,也就是Java Runtime Enviroment运行 ...

  10. php使用mysql之sql注入(功)

    sql注入就是用户通过构造sql语句,完成sql一系列操作 准备素材如下: 这是test.html <!DOCTYPE html> <html> <meta charse ...