列表嵌套字典的遍历

有这样的一个列表

```python
product = [
    {"name": "电脑", "price": 7000},
    {"name": "鼠标", "price": 30},
    {"name": "usb电动小风扇", "price": 20},
    {"name": "遮阳伞", "price": 50},
]
```

然后小明一共有8000块钱,那么他能不能买下这所有商品?
如果能,请输出“能”,否则输出“不能”

训练目标

if判断语句的复习使用 列表与字典的复合使用 遍历列表与遍历字典的使用

训练提示

题目中给了“能不能”三个字,那么这时候用什么语句来实现呢? 题目中数据是用列表来套字典来存储的,那么获取数据是不是要遍历呢? 在判断能不能买下的时候,那么要用那两个数据进行判断呢,这两个数据分别是什么?

参考方案

使用双层for循环来遍历每一个数据,找到价格进行累计,之后判断

操作步骤

  1. 双层for循环来循环数据

  2. 在每一层循环中来判断并累计所有的价格

  3. 在循环结束之后,用总价格进行与总钱数进行比较

参考答案

方法一:

product = [
    {"name": "电脑", "price": 7000},
    {"name": "鼠标", "price": 30},
    {"name": "usb电动小风扇", "price": 20},
    {"name": "遮阳伞", "price": 50},
]
sum = 0
money = 8000
for dict1 in product:
    for k, v in dict1.items():
        if k == "price":
            sum += v
if sum <= money:
     print("能")
else:
    print("不能")

方法二:

product = [
    {"name": "电脑", "price": 7000},
    {"name": "鼠标", "price": 30},
    {"name": "usb电动小风扇", "price": 20},
    {"name": "遮阳伞", "price": 50},
]
num = len(product)
i=0
sum=0
while i<num:
   sum+= product[i]["price"]
   i+=1
if sum > 8000:
    print('不可以')
else:
    print('可以')

 

方法三:

product = [
    {"name": "电脑", "price": 7000},
    {"name": "鼠标", "price": 30},
    {"name": "usb电动小风扇", "price": 20},
    {"name": "遮阳伞", "price": 50},
]
num = len(product)
i=0
sum=0
for i in range(num):
    sum += product[i]["price"]

if sum > 8000:
    print('不可以')
else:
    print('可以')

 

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值