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

โปรแกรมหาค่าเฉลี่ยเงินเดือนไม่นับค่าต่ำสุดและสูงสุดใน Python


ภาพรวม

ให้อาร์เรย์ salary ที่มีค่าต่างกันทั้งหมด ต้องการหาค่าเฉลี่ยของเงินเดือนหลังจากตัดค่าต่ำสุดและค่าสูงสุดออก

ตัวอย่าง

salary = [8000,6000,2000,8500,2500,4000]

ค่าต่ำสุด = 2000, ค่าสูงสุด = 8500

เหลือ: [8000,6000,2500,4000] → ค่าเฉลี่ย = (8000+6000+2500+4000)/4 = 5125.0

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

  1. ลบค่าต่ำสุดออกจากลิสต์: salary.remove(min(salary))
  2. ลบค่าสูงสุดออกจากลิสต์: salary.remove(max(salary))
  3. คืนค่า sum(salary) / len(salary)

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

def solve(salary):
    salary.remove(min(salary))
    salary.remove(max(salary))
    return sum(salary) / len(salary)

salary = [8000,6000,2000,8500,2500,4000]
print(solve(salary))

อินพุต

[8000,6000,2000,8500,2500,4000]

เอาต์พุต

5125.0

หมายเหตุ

  • วิธีนี้แก้ไขลิสต์ต้นฉบับ (mutates) หากต้องการรักษาเดิม ให้ copy ก่อน
  • สมมติว่ามีอย่างน้อย 3 พนักงาน และค่าต่างกันทั้งหมด