Python练习代码-第十一章-字典练习

这篇文章展示了如何使用Python的正则表达式将字符串快速分割成列表,并通过eval和for循环将字符串列表转换为数字列表,进而构建字典。此外,还演示了如何用fromkeys方法批量赋值创建字典,以及处理超市销售数据,包括统计货品种类、数量和总价。
部署运行你感兴趣的模型镜像

11.4.1 字符串转字典

正则,快速分割字符串为列表
map/eval 字符串转换
for循环条件简写

# 10.6.2/11.4.1 面包牛奶 
import re
# 字典创建
dict = {}
str1 = "牛奶,面包,可乐,饼干,糖果,水果"
str2 = "65,15,39,45,24,35.8"

# 1.字符串分割成列表 正则法
list1 = re.findall("[^,]+", str1)
list2 = re.findall("[^,]+", str2)
# 2.eval转换为数据的实际类型
list21 = list(map(eval, list2))
# print(list1,list21)

# 3. 字典赋值
for i, j in zip(list1, list21):
    dict[i] = j
# 4. 字典修改
dict["可乐"] = 60

# 4. 字典值求和
sum = sum(x for x in dict.values())
print("您购买%d件物品,共计:%.2f元" % (len(dict), sum))

11.4.2 银行卡加密码

fromkeys ,字典批量赋值

import re

dict,list1= {},[]

for i in range(610001,610101):
    list1.append(str(i))

dict = dict.fromkeys(list1,"000000")
print(dict)

11.4.3 超市售货统计程序

在这里插入图片描述
要求: 输出结果如下
在这里插入图片描述

dict0 = {1:"日期",2:"货品名称",3:"数量",4:"单价"}

dict1  = {"11月24日":["牛奶","方便面","糖果"],
          "11月25日":["牛奶","咖啡","饼干","火腿肠"],
          "11月26日":["奶茶","牛奶","方便面"]}

dict2  = {"牛奶":5.5,"方便面":4,"糖果":12,"咖啡":6,"饼干":6,"火腿肠":5,"奶茶":5}

dict3  = {"11月24日":{"牛奶":15,"方便面":25,"糖果":10},
          "11月25日":{"牛奶":25,"咖啡":5,"饼干":15,"火腿肠":10},
          "11月26日":{"奶茶":10,"牛奶":20,"方便面":15}}

for i,j in zip(dict3.keys(),dict3.values()):
    print(i)
    sum0 ,sumxl= 0,0
    for k in j.items():
        # 列表转换
        list1 = list(k)
        # 获取数量和单价 及单日求和
        dj = dict2.get(list1[0])
        xl = list1[1]
        sumxl += xl
        sum0 += xl * dj
        # 列表插入 为字符串拼接做准备
        list1.insert(1,"    "+dict0[3]) #文字数量
        list1.insert(2,": ")
        list1.append("    "+dict0[4]+": "+str(dj))#单价: 数值

        # 字符串转换及合并
        str1 = "".join(map(str,list1))
        # 输出商品数量
        print("  ",str1)
     # 输出当日货物及其卖价小计
    print("%s卖出的货物%d件,小计: %.2f元"%(i,sumxl,sum0))
        # print("%.2f"%( * dj))




# dict3  = {"11月24日":{"牛奶":{"数量":15,"单价":5.5},"方便面":{"数量":25,"单价":4},"糖果":{"数量":10,"单价":12}},
#           "11月25日":{"牛奶":{"数量":25,"单价":5.5},"咖啡":{"数量":5,"单价":6},"饼干":{"数量":15,"单价":6},"火腿肠":{"数量":10,"单价":5},},
#           "11月26日":{"奶茶":{"数量":10,"单价":5},"牛奶":{"数量":20,"单价":5.5},"方便面":{"数量":15,"单价":4}}
#           }

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pigerr杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值