有没有大佬给我解决一下前民名字部分的取值怎么搞,输出来9个都是第一个人 ,迷茫了

来源:7-6 Python dict的特点

张铎宝

2020-10-13 11:01

d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}

template = "第{}次的成绩为{}"

values = d.values()

for name in d.keys():

    for i in range(len(d.values())+1):

        for value in values[i]:

            print(template.format(i+1,value))


写回答 关注

5回答

  • 慕函数0346336
    2021-06-12 16:07:22

     # -*- coding: utf-8 -*

    d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}

    for key, value in d.items():

        n=1

        for score in value:

            print('{}的第{}次成绩是{}'.format(key, n, score))

            n = n+1

    Bob的第1次成绩是80
    Bob的第2次成绩是61
    Bob的第3次成绩是66
    Alice的第1次成绩是50
    Alice的第2次成绩是61
    Alice的第3次成绩是66
    Candy的第1次成绩是88
    Candy的第2次成绩是75
    Candy的第3次成绩是90


    慕函数034...

    https://blog.csdn.net/LiHaoYang11/article/details/55806099

    2021-06-12 16:07:55

    共 1 条回复 >

  • 绿星丑凯龙
    2020-11-01 17:06:21

    cs = 1这个肯定要放for循环外面 啊,放里面不就每次循环都等于1输出了啊

  • 喷嚏
    2020-10-22 09:54:47

    d = {'Alice': [50,61,66],'Bob': [80, 61, 66],'Candy': [88, 75, 90]} 

    for dj,dz in d.items():

        cs = 1

        for bl in dz:

            print('{} 第{}次成绩是:{}'.format(dj,cs,bl))

            cs = cs+1

  • 慕侠6748888
    2020-10-17 18:31:12

    d = {'Alice': [50, 61, 66],

        'Bob': [80, 61, 66],

        'Candy': [88, 75, 90]


    for dj,dz in d.items():

        cs = 1

        for dz,bl in dz:

            print(dj,'第',cs,'次成绩是:',dzbl)

            cs = cs+1


  • qq_明镜止于水_muxNOW
    2020-10-13 19:54:23

    d = {

         'Alice': [50, 61, 66],

         'Bob': [80, 61, 66],

         'Candy': [88, 75, 90]

    }

    template = "{}的第{}次的成绩为{}"

    for eachItem in d.items():

        for i in range(len(eachItem[1])):

            print(template.format(eachItem[0], i + 1, eachItem[1][i]))



Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

156235 学习 · 1091 问题

查看课程

相似问题