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

โปรแกรมนับจำนวนบทวิจารณ์ระดับ 5 ดาวที่จำเป็นในการเข้าถึงเปอร์เซ็นต์เกณฑ์ใน Python


สมมติว่าเรามีรายการที่เรียกว่าบทวิจารณ์และค่าเกณฑ์ t แต่ละรายการในบทวิจารณ์[i] มี [x, y] หมายถึงผลิตภัณฑ์ที่ฉันมี x จำนวนคะแนนระดับ 5 ดาวและจำนวนบทวิจารณ์ y เราต้องหาจำนวนบทวิจารณ์ระดับ 5 ดาวเพิ่มเติมขั้นต่ำที่เราต้องการ เพื่อให้เปอร์เซ็นต์ของบทวิจารณ์ระดับ 5 ดาวสำหรับรายการเหล่านั้นมีอย่างน้อย t เปอร์เซ็นต์

ดังนั้น หากอินพุตเป็นเหมือนบทวิจารณ์ =[[3, 4],[1, 2],[4, 6]] เกณฑ์ =78 ผลลัพธ์จะเป็น 7 เนื่องจากมีบทวิจารณ์ระดับ 5 ดาวทั้งหมด 8 รายการและ 12 รีวิว เพื่อให้ได้รับรีวิวระดับ 5 ดาวถึง 78% เราต้องการรีวิวระดับ 5 ดาวอีก 7 รายการ

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

  • a :=0, b :=0

  • สำหรับแต่ละการนับ 5 ดาว c และจำนวนบทวิจารณ์ d ในบทวิจารณ์ ทำ

    • a :=a + c

    • b :=b + d

  • ถ้า a * 100>=t * b แล้ว

    • คืนค่า 0

  • เดลต้า :=t * b - 100 * a

  • ชั้นกลับของ (เดลต้า +(99 - t))/(100 - t)

ตัวอย่าง

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

def solve(reviews, t):
   a = 0
   b = 0
   for c, d in reviews:
      a += c
      b += d
   if a * 100 >= t * b:
      return 0
   delta = t * b - 100 * a
   return (delta + (99 - t)) // (100 - t)

reviews = [
   [3, 4],
   [1, 2],
   [4, 6]
]
t = 78
print(solve(reviews, t))

อินพุต

[[3, 4], [1, 2],[4, 6] ],78

ผลลัพธ์

7