بکندباز

این تمرین بر اساس بازی Uno نوشته شده است.

تابعی بنویسید که دارای دو آرگومان باشد: (1) دست فعلی بازیکن و (2) بالاترین کارت فعلی روی میز. اگر بازیکن بتواند کارتی بگذارد، این تابع True برمی‌گرداند، و اگر بازیکن مجبور باشد از از بیرون کارت بکشد، False را برمی‌گرداند.

طبق قانون این بازی، در دو صورت بازیکن می تواند روی کارت فعلی کارت بگذارد:

  • کارتی هم رنگ با کارت فعلی روی میز داشته باشد
  • کارتی هم عدد با کارت فعلی روی میز داشته باشد
can_play(["yellow 3", "yellow 7", "blue 8", "red 9", "red 2"], "red 1") ➞ True
# بازیکن کارت قرمز دارد، و آخرین کارت روی میز نیز قرمز است.

can_play(["yellow 3", "yellow 7"], "blue 7") ➞ True
# بازیکن کارت شماره 7 دارد و آخرین کارت روی میز 7 است.

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

CanPlay(["yellow 3", "yellow 5", "red 8"], "red 2") ➞ True

CanPlay(["yellow 3", "yellow 5", "red 8"], "blue 5") ➞ True

CanPlay(["yellow 3", "blue 5", "red 8", "red 9"], "green 4") ➞ False

نکات

  • اگر بازیکن هیچ کارتی نداشت (رشته خالی)، False برگردانده شود.
CanPlay(["yellow 3", "yellow 5", "red 8"], "red 2")  ➞ True
CanPlay(["yellow 3", "yellow 5", "red 8"], "blue 5")  ➞ True
CanPlay(["yellow 3", "blue 5", "red 8", "red 9"], "green 4")  ➞ False
CanPlay(["yellow 3", "red 8"], "green 2")  ➞ False

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

Aliak
امتیاز:‌ 8621
تصحیح اتوماتیک 0 0
‎C#‎
11 مرداد 1402

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

mantix
امتیاز:‌ 16306
تصحیح اتوماتیک 0 0
‎C#‎
24 ارديبهشت 1402

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

نظرات

*
*