Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาคะแนนเฉลี่ยของนักเรียนแต่ละคนจาก Dictionary ใน Python

สมมติว่าเรามี Dictionary เก็บคะแนนนักเรียน Key คือชื่อ Value คือลิสต์คะแนน ต้องหาค่าเฉลี่ยของแต่ละคน

ตัวอย่าง scores = {'Amal':[25,36,47,45], 'Bimal':[85,74,69,47], 'Tarun':[65,35,87,14], 'Akash':[74,12,36,75]} ผลลัพธ์ = [38.25, 68.75, 50.25, 49.25]

ขั้นตอนการแก้ปัญหา

  • avg_scores := dict ใหม่
  • สำหรับแต่ละ name ใน scores: avg_scores[name] = sum(scores[name])/len(scores[name])
  • คืนค่า list ของค่าใน avg_scores

ตัวอย่างโค้ด

def solve(scores):
    avg_scores = dict()
    for name in scores:
        avg_scores[name] = sum(scores[name])/len(scores[name])
    return list(avg_scores.values())

scores = {'Amal':[25,36,47,45],'Bimal':[85,74,69,47],'Tarun':[65,35,87,14],'Akash':[74,12,36,75]}
print(solve(scores))

อินพุต

[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]

เอาต์พุต

[38, 68, 50, 49]