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

โปรแกรม Python แสดงชื่อนักเรียนชั้นประถมศึกษาปีที่ 2 ต่ำสุดจากรายการซ้อน


สมมติว่าเรามีชื่อและเกรดสำหรับนักเรียนแต่ละคนในรายการที่ซ้อนกัน เราต้องแสดงชื่อนักเรียนที่มีเกรดต่ำสุดเป็นอันดับสอง หากมีนักเรียนมากกว่าหนึ่งคนที่ได้เกรดต่ำสุดเป็นอันดับสอง ให้เรียงลำดับใหม่ตามลำดับตัวอักษรและพิมพ์ชื่อแต่ละชื่อในบรรทัดใหม่

ดังนั้น ถ้าข้อมูลเข้าเหมือนนักเรียน =[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]] จากนั้นผลลัพธ์จะเป็น Amal โดย Bimal ทั้งคู่มีคะแนนขั้นต่ำเป็นอันดับสองคือ 37 โดยเรียงตามลำดับตัวอักษร

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • min_mark :=คะแนนขั้นต่ำสำหรับ x ทั้งหมดในนักเรียน
  • นักเรียน :=รายชื่อนักเรียน x สำหรับ x ทั้งหมดในนักเรียน ถ้าคะแนน> min_mark
  • min2_mark :=คะแนนขั้นต่ำสำหรับ x ทั้งหมดในนักเรียน
  • นักเรียน :=เรียงลำดับรายการ [ด้วยชื่อ x สำหรับ x ทั้งหมดในนักเรียน ถ้าคะแนน x เท่ากัน
  • min2_mark]
  • สำหรับแต่ละ x ในนักเรียน ทำ
    • แสดง x

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

def solve(students):
   min_mark = min(x[1] for x in students)
   students = [x for x in students if x[1] > min_mark]
   min2_mark = min(x[1] for x in students)
   students = sorted([x[0] for x in students if x[1] == min2_mark])
   for x in students:
      print(x)

students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]
solve(students)

อินพุต

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

ผลลัพธ์

Amal
Bimal