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

โปรแกรม Python หาคะแนนรองชนะเลิศ


สมมติว่าเรามีรายการคะแนนสำหรับผู้เข้าร่วมจำนวนต่างกัน เราต้องหาคะแนนรองชนะเลิศให้ได้

ดังนั้น หากข้อมูลที่ป้อนเข้าเหมือนกับคะแนน =[5,8,2,6,8,5,8,7] ผลลัพธ์จะเป็น 7 เนื่องจากคะแนนผู้ชนะคือ 8 และคะแนนที่มากที่สุดเป็นอันดับสองคือ 7

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

  • ผู้ชนะ :=-99999
  • runner_up :=-99999
  • สำหรับแต่ละ i ในคะแนน ทำ
    • ถ้าฉัน> ผู้ชนะ แล้ว
      • ผู้ชนะ :=ฉัน
      • runner_up :=ผู้ชนะ
    • มิฉะนั้น เมื่อฉัน <ผู้ชนะ และฉัน> รองชนะเลิศ แล้ว
      • runner_up :=ฉัน
  • กลับ runner_up

ตัวอย่าง

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

def solve(scores):
   winner = -99999
   runner_up = -99999
   for i in scores:
      if (i > winner):
         winner, runner_up = i, winner
      elif (i < winner and i > runner_up):
         runner_up = i
   return runner_up

scores = [5,8,2,6,8,5,8,7]
print(solve(scores))

อินพุต

[5,8,2,6,8,5,8,7]

ผลลัพธ์

7