بکندباز

این تمرین بر اساس بازی 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

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*