بکندباز

سه فنجان روی یک میز در موقعیت‌های A، B و C قرار دارند. در ابتدا، یک توپ زیر فنجان در موقعیت B پنهان شده است. عکس

هر تعویض روی فنجان‌ها انجام می‌دهیم به صورت دو حرف نوشته می‌شود. به عنوان مثال، اگر فنجان‌های در موقعیت‌های A و B را تعویض کنم، می‌توانیم این را به صورت AB یا BA بنویسیم. یک تابع ایجاد کنید که موقعیت حرفی که توپ در آن قرار دارد را پس از اتمام تعویض فنجان‌ها برگرداند. تعویض‌ها به شما به صورت یک لیست داده خواهد شد.

مثال

cup_swapping(["AB", "CA", "AB"]) ➞ "C"

# در این تمرین توپ همیشه در موقعیت B شروع می‌شود.
# 1- فنجان‌های A و B تعویض می‌شوند، پس توپ در موقعیت A قرار می‌گیرد.
# 2- فنجان‌های C و A تعویض می‌شوند، پس توپ در موقعیت C قرار می‌گیرد.
# 3- فنجان‌های A و B تعویض می‌شوند، اما توپ در موقعیت C است، پس حرکت نمی‌کند.

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

cup_swapping(["AB", "CA"]) ➞ C

cup_swapping(["AC", "CA", "CA", "AC"]) ➞ B

cup_swapping(["BA", "AC", "CA", "BC"]) ➞ A

نکات

  • یک تعویض می‌تواند به دو روش مختلف نوشته شود، زیرا هر دو روش با همان نتیجه به پایان می‌رسند.
  • تمام تعویض‌ها به صورت حروف بزرگ نوشته خواهند شد و معتبر خواهند بود.
  • شما نمی‌توانید یک فنجان را با خود آن تعویض کنید.
  • توپ همیشه در موقعیت B شروع می‌شود
self.assertEqual(cup_swapping(["AB", "CA"]), 'C')
self.assertEqual(cup_swapping(["AC", "CA", "CA", "AC"]), 'B')
self.assertEqual(cup_swapping(["BA", "AC", "CA", "BC"]), 'A')
self.assertEqual(cup_swapping([]), 'B')
self.assertEqual(cup_swapping(['BC', 'CB', 'CA', 'BA']), 'A')
self.assertEqual(cup_swapping(['BC']), 'C')
self.assertEqual(cup_swapping(['BA', 'CA', 'CB', 'CA']), 'B')

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

h.a.s.a.n
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
26 مهر 1403

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

aabbasm
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
24 مهر 1403

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

user-OYRr
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
16 شهريور 1403

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

Aliak
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
20 مرداد 1403

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

Arhsi8294
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
20 مرداد 1403

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

Aboolkhafan
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
20 مرداد 1403

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

mantix
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
20 مرداد 1403

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

Alann2
امتیاز:‌ 1229
تصحیح اتوماتیک 0 0
‎پایتون‎
20 مرداد 1403

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

نظرات

*
*

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