在Python3中打印学生姓名和学生分数

2024-10-01 17:37:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印学生的名字和成绩,但我有一个问题

这是密码

from collections import OrderedDict
from operator import itemgetter

A = 'Ali'
AV = 19.75
M = 'Mohammad'
MV = 19.64
C = 'Cacurs'
CV = 19.50

Name_Ave = {C:CV, M:MV, A:AV}
D = OrderedDict(sorted(Name_Ave.items(), key = itemgetter(1)))


for Keys in D.keys():
    for Values in D.values():
        print('%s Average is: %s' %(Keys, Values))

----这是出口

Cacurs Average is: 19.5
Cacurs Average is: 19.64
Cacurs Average is: 19.75
Mohammad Average is: 19.5
Mohammad Average is: 19.64
Mohammad Average is: 19.75
Ali Average is: 19.5
Ali Average is: 19.64
Ali Average is: 19.75

我能做什么?? 请帮帮我


Tags: namefromimportforisalicvordereddict
3条回答

解决方案可以是:

from collections import OrderedDict
from operator import itemgetter

A = 'Ali'
AV = 19.75
M = 'Mohammad'
MV = 19.64
C = 'Cacurs'
CV = 19.50

Name_Ave = {C:CV, M:MV, A:AV}
D = OrderedDict(sorted(Name_Ave.items(), key = itemgetter(1)))


for Keys,Values in zip(D.keys(),D.values()):
        print('%s Average is: %s' %(Keys, Values))

正如@Daniel Mesejo所指出的,您可以如下更改for循环:

for key, value in D.items():
        print('%s Average is: %s' %(key,value))

现在,您要做的是为D中的每个键打印字典中的所有值。因此,对于每个学生,你都要遍历字典中所有分数的循环,因此它会为每个学生打印每个分数

应该做的是遍历每个键/值对:

for key, value in D.items():
    print('%s Average is: %s' %(key, value))
A = 'Ali'
AV = 19.75
M = 'Mohammad'
MV = 19.64
C = 'Cacurs'
CV = 19.50

Name_Ave = {C:CV, M:MV, A:AV}
for item in Name_Ave:
    print(item+' score is : '+str(Name_Ave[item]))

相关问题 更多 >

    热门问题