بکندباز

ابیگیل و بنسون در حال بازی “سنگ، کاغذ، قیچی” هستند.

هر بازی با آرایه‌ای به طول ۲ نمایش داده می‌شود. عنصر اول نشان‌دهنده حرکت ابیگیل و عنصر دوم نشان‌دهنده حرکت بنسون است.

با توجه به دنباله‌ای از بازی‌ها، مشخص کنید چه کسی بیشترین تعداد بازی‌ها را برنده شده است. اگر نتیجه مساوی باشد، مقدار "Tie" را برگردانید.

نمادها

  • R نشان‌دهنده سنگ (Rock)
  • P نشان‌دهنده کاغذ (Paper)
  • S نشان‌دهنده قیچی (Scissors)

مثال

calculate_score([["R", "P"], ["R", "S"], ["S", "P"]]) ➞ "Abigail"

# بنسون بازی اول را می‌برد (کاغذ، سنگ را می‌برد).
# ابیگیل بازی دوم را می‌برد (سنگ، قیچی را می‌برد).
# ابیگیل بازی سوم را می‌برد (قیچی، کاغذ را می‌برد).
# ابیگیل 2 بازی از 3 بازی را می‌برد.

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

CalculateScore([["R", "P"], ["R", "S"], ["S", "P"]]) ➞ "Abigail"

CalculateScore([['S', 'R'], ['S', 'R'], ['S', 'R'], ['R', 'S'], ['R', 'S']]) ➞ "Benson"

CalculateScore([["S", "R"], ["R", "S"], ["R", "R"]]) ➞ "Tie"
EXPECT_EQ(CalculateScore({{"R", "P"}, {"R", "S"}, {"S", "P"}}), "Abigail");
EXPECT_EQ(CalculateScore({{"S", "R"}, {"S", "R"}, {"S", "R"}, {"R", "S"}, {"R", "S"}}), "Benson");
EXPECT_EQ(CalculateScore({{"S", "R"}, {"R", "S"}, {"R", "R"}}), "Tie");
EXPECT_EQ(CalculateScore({{"R", "R"}, {"S", "S"}}), "Tie");
EXPECT_EQ(CalculateScore({{"S", "R"}, {"P", "R"}}), "Tie");
EXPECT_EQ(CalculateScore({{"S", "S"}, {"S", "P"}, {"R", "S"}, {"S", "R"}, {"R", "R"}}), "Abigail");

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

نظرات

*
*

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