بکندباز

استیو و موریس هر دو سه حلزون دارند:

  • یک حلزون کند (s)
  • یک حلزون متوسط (m)
  • یک حلزون سریع (f)

اگر موریس در دو مسابقه از سه مسابقه برنده شود، برنامه باید True برگرداند. در غیر این صورت False.

استراتژی موریس:

  1. دور اول: (s, f) → فدا کردن کندترین حلزون خود در برابر سریع‌ترین حلزون استیو.
  2. دور دوم: (m, s) → استفاده از حلزون متوسط خود در برابر کندترین حلزون استیو.
  3. دور سوم: (f, m) → استفاده از سریع‌ترین حلزون خود در برابر حلزون متوسط استیو.

ورودی‌های تابع:

  • لیست 1: [s, m, f] (کند، متوسط، سریع) برای موریس
  • لیست 2: [s, m, f] (کند، متوسط، سریع) برای استیو

مثال

maurice_wins([3, 5, 10], [4, 7, 11]) ➞ True
# مسابقات: (3, 11), (5, 4), (10, 7) 
# موریس در دو مسابقه (5 > 4) و (10 > 7) برنده می‌شود.

نمونه ورودی و خروجی

maurice_wins([3, 5, 10], [4, 7, 11]) ➞ True

maurice_wins([6, 8, 9], [7, 12, 14]) ➞ False

maurice_wins([1, 8, 20], [2, 9, 100]) ➞ True

نکات:

  • موریس فقط زمانی برنده یک مسابقه می‌شود که سرعت حلزونش از حلزون استیو بیشتر باشد.
  • استیو همیشه با این ترتیب بازی می‌کند: [f, s, m]
  • لیست ورودی همیشه به ترتیب صعودی مرتب است.
self.assertEqual(maurice_wins([3, 5, 10], [4, 7, 11]), True)
self.assertEqual(maurice_wins([6, 8, 9], [7, 12, 14]), False)
self.assertEqual(maurice_wins([1, 8, 20], [2, 9, 100]), True)
self.assertEqual(maurice_wins([1, 2, 3], [2, 3, 4]), False)
self.assertEqual(maurice_wins([2, 4, 10], [3, 9, 11]), True)
self.assertEqual(maurice_wins([3, 8, 13], [5, 11, 15]), True)

پاسخ های کاربران به این تمرین

user-ixnb
امتیاز:‌ 3478
تصحیح اتوماتیک 0 0
‎پایتون‎
7 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

MarsBoy
امتیاز:‌ 6798
تصحیح اتوماتیک 0 0
‎پایتون‎
7 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط