بخشی از مجموعه

چندین نمونه کد

~2 دقیقه مطالعه • بروزرسانی ۱۵ مهر ۱۴۰۴

شرح برنامه

در این بازی دو نفره، n جعبه کبریت وجود دارد.
در هر نوبت، بازیکن می‌تواند ۱ تا k جعبه بردارد.
بازیکنی که آخرین جعبه را بردارد، بازنده است.
برنامه به‌صورت نوبتی بین دو بازیکن اجرا می‌شود و در پایان اعلام می‌کند چه کسی بازنده شده است.


کد پایتون:


def matchbox_game(n: int, k: int):
    turn = 0  # 0: Player 1, 1: Player 2
    while n > 0:
        print(f"\nRemaining matchboxes: {n}")
        move = int(input(f"Player {turn + 1}, pick 1 to {min(k, n)} matchboxes: "))
        if move < 1 or move > min(k, n):
            print("Invalid move. Try again.")
            continue
        n -= move
        if n == 0:
            print(f"\nPlayer {turn + 1} took the last matchbox and loses!")
            break
        turn = 1 - turn

# دریافت ورودی‌ها از کاربر
n = int(input("تعداد جعبه‌های کبریت را وارد کنید: "))
k = int(input("حداکثر تعداد قابل برداشتن در هر نوبت: "))
matchbox_game(n, k)

نمونه خروجی:


تعداد جعبه‌های کبریت: 10  
حداکثر تعداد قابل برداشتن: 3  

Remaining matchboxes: 10  
Player 1, pick 1 to 3 matchboxes: 2  

Remaining matchboxes: 8  
Player 2, pick 1 to 3 matchboxes: 3  

Remaining matchboxes: 5  
Player 1, pick 1 to 3 matchboxes: 2  

Remaining matchboxes: 3  
Player 2, pick 1 to 3 matchboxes: 3  

Player 2 took the last matchbox and loses!

توضیح مراحل:

- بازی با n جعبه شروع می‌شود و هر بازیکن نوبتی بازی می‌کند
- در هر نوبت، بازیکن می‌تواند ۱ تا k جعبه بردارد
- اگر بازیکنی آخرین جعبه را بردارد، بازنده اعلام می‌شود


نوشته و پژوهش شده توسط دکتر شاهین صیامی