我想问一下4-3

我想问一下4-3

# coding:utf-8

title = '2020年7家全国电商零售百强的销售额'
dict = {
    'wph': 8872131, 'jd' : 51073400, 'jd' : 51073400, 'xm' : 4605000,
    'snyg' : 15843900, 'dd' : 1000000, 'gmls' : 4500000, 'tm' : 1200000
}
values = list(dict.values())
for key, value in dict.items():
    if int(value) == max(values):
        print('{}的销售额最大,最大是{}'.format(key, value))
    elif int(value) == min(values):
        print('{}的销售额最小,最小是{}'.format(key, value))
    else:
        continue
if int(value) == max(values):

这一句是把for循环里面所有的value值都与values列表的最大值进行了一次相等吗?

else int(value) == min(values):
也是将for循环里面输出的value值都与values列表的最小值进行一次相等吗?
print('{}的销售额最大,最大是{}'.format(key, value))
知道最大值的话他就自己对应dict里面的key吗?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!

if int(value) == max(values):

这一句是把for循环里面所有的value值都与values列表的最大值进行了一次相等,如果values 与max(values)不相等会去执行elif语句,若还是不满足elif的条件,就会去执行else 的语句,一共循环7次,不是同学说的循环一次if,再执行一次else

https://img1.sycdn.imooc.com//climg/642ff2dd097342cf16910764.jpg

祝学习愉快~

  • jinxianzi 提问者 #1

    那就是说在if中value里面所有的值都去与values的最大值作比较如果满足if的条件就不执行elif和else了吗?

    2023-04-07 19:04:20
  • jinxianzi 提问者 #2

    如果value里面最大的值是最后一个那它在if中就进行了6次判断吧

    2023-04-07 19:07:04
  • jinxianzi 提问者 #3

    是不是这样的呢:
    字典第一次遍历生成的value中的第一个元素是8872131,然后拿8872131与values中的最大值进行判断看是否相等;若不想等则进行elif中的条件,看是否与最小值相等;若还不相等则进入else。
    然后字典进行第二次遍历重复同样的步骤。
    直到字典中的value元素全都通过遍历输出与values中的最大值和最小值做了比较结束循环。

    2023-04-07 20:29:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师