بکندباز

سه فنجان روی یک میز در موقعیت‌های 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')

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

Amin
امتیاز:‌ 20573
تصحیح اتوماتیک 0 0
‎پایتون‎
7 بهمن 1403

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

Astranger
امتیاز:‌ 1995
تصحیح اتوماتیک 0 0
‎پایتون‎
4 دي 1403

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نظرات

*
*

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