# 数据如下: (大家可以自行拟定,想一下你需要什么数据结构)
# 1.电视6000、空调15000、洗衣机5000、电冰箱8000
# 2.床12000、衣柜9000、书桌4000、沙发10000、茶几电视柜5000
# 3.地面8000、墙面5000、吊顶6000、地板10000
# 输出要求: (以下全部使用推导列表完成)
# 1.计算家用电器的总花销
# 2.计算家具的总花销
# 3.计算房屋装修的总花销
# 4.计算全部总花销
# 5.输出花销超过5000的项
electric_Appliances={'电视':6000,'空调':15000,'洗衣机':5000,'电冰箱':8000}
furniture_list={'床':12000,'衣柜':9000,'书桌':4000,'沙发':10000,'茶几电视柜':5000}
renovation_list={'地面':8000,'墙面':5000,'吊顶':6000,'地板':10000}
#家用电器总花销
electric_expense=[x for x in electric_Appliances.values()]
print('家用电器总花销:'+str(sum(electric_expense)))
#家具总花销
furniture_expense=[y for y in furniture_list.values()]
print('家具总花销:'+str(sum(furniture_expense)))
#装修总花销
renovation_expense=[z for z in renovation_list.values()]
print('装修总花销:'+str(sum(renovation_expense)))
#全部总花销
total_expense=sum(electric_expense)+sum(furniture_expense)+sum(renovation_expense)
print('全部总花销:'+str(total_expense))
#超过5000的项目
total_project={'电视':6000,'空调':15000,'洗衣机':5000,'电冰箱':8000,'床':12000,'衣柜':9000,'书桌':4000,'沙发':10000,'茶几电视柜':5000,'地面':8000,'墙面':5000,'吊顶':6000,'地板':10000}
exceed_project=[t for t in total_project.keys() if total_project.get(t) > 5000]
print(exceed_project)
参考答案:
#先来搞一下我们的数据,程序的开始 始于变量
appliances_dic = {'电视':6000,'空调':15000,'冰箱':8000,
'洗衣机':5000,'热水器':5000,'厨房电器':8000,
'电脑':6000}
furniture_dic = {'床':12000,'沙发':10000,'衣柜':9000,
'茶几电视柜':5000,'餐桌':4000,'橱柜':7000,
'书桌电脑桌':4000}
decorate_dic = {'地面':8000,'墙面':5000,'地板':10000,'厨房':5000,
'卫生间':4000,'瓷砖':10000,'吊顶':6000,'灯具':5000,
'管线开关':5000}
#独立项目合计
decorate_list_total = [v for v in decorate_dic.values()]
print('装修总费用:'+str(sum(decorate_list_total)))
#独立项目合计
appliances_list_total = [v for v in appliances_dic.values()]
print('家用电器总费用:'+str(sum(appliances_list_total)))
#独立项目合计
furniture_list_total = [v for v in furniture_dic.values()]
print('家具总费用:'+str(sum(furniture_list_total)))
#全部总计
print('合计总费用:'+str(sum(decorate_list_total)+sum(appliances_list_total)+sum(furniture_list_total)))
#我们使用copy 建立一个新的对象 然后把三个大类放在一起 为计算大于5000的项做好数据准备
dic_total = decorate_dic.copy()
dic_total.update(appliances_dic)
dic_total.update(furniture_dic)
# print(dic_total)
dd = {'地面':8000,'墙面':5000,'地板':10000,'厨房':5000}
print('费用超过5000的项目:')
#遍历原始数据的key 记住我们添加的是key 对当前key的值value判断是否大于5000
morethan_5000_item = [k for k in dic_total.keys() if dic_total.get(k)>5000]
print(morethan_5000_item)
注:1.字典的增删改查:
(1)把字典B添加到字典A中:
A= {'Name': 'Zara', 'Age': 7}
B = {'Sex': 'female' }
A.update(B)
print(A)
输出结果:
{'Name': 'Zara', 'Age': 7, 'Sex': 'female'}
(2)返回键:字典.keys( )
返回值:字典.values( )
2.python中的 .get( )函数:
(1).get()函数是Python字典用于返回键值的函数,可以参考以下代码:
dict_1 = {'name': '小王', 'sex': '男', 'age': '18'}
print(dict_1.get('name'))
print(dict_1.get('work', {}))
得到结果:
小王
{}
在这里如果没有对应的键,返回一个空值。
3.python中的 .copy( )函数:
a=[1,2,3,4]
b=a.copy()
print(b)
输出结果:
[1,2,3,4]