~2 min read • Updated Oct 1, 2025
شرح برنامه
این برنامه پایتونی چند دور از بازی سنگ، کاغذ، قیچی را بین دو بازیکن شبیهسازی میکند.
هر بازیکن یکی از گزینههای زیر را انتخاب میکند:
- قیچی → مقدار ۱
- سنگ → مقدار ۲
- کاغذ → مقدار ۳
اگر انتخابها یکسان باشند، بازی مساوی است.
در غیر این صورت، برنده بر اساس قوانین زیر مشخص میشود:
- قیچی < سنگ → سنگ برنده است
- سنگ < کاغذ → کاغذ برنده است
- کاغذ < قیچی → قیچی برنده است
کد پایتون:
# تعریف تابع برای تعیین برنده
def determine_winner(p1, p2):
if p1 == p2:
return "Draw"
elif (p1 == 1 and p2 == 2) or (p1 == 2 and p2 == 3) or (p1 == 3 and p2 == 1):
return "Player 2 wins"
else:
return "Player 1 wins"
# دریافت تعداد بازیها
n = int(input("تعداد بازیها را وارد کنید: "))
# اجرای بازیها
for i in range(n):
print(f"\n--- بازی {i+1} ---")
p1 = int(input("بازیکن اول (1=قیچی, 2=سنگ, 3=کاغذ): "))
p2 = int(input("بازیکن دوم (1=قیچی, 2=سنگ, 3=کاغذ): "))
result = determine_winner(p1, p2)
print("نتیجه:", result)
نمونه خروجی:
تعداد بازیها را وارد کنید: 3
--- بازی 1 ---
بازیکن اول (1=قیچی, 2=سنگ, 3=کاغذ): 1
بازیکن دوم (1=قیچی, 2=سنگ, 3=کاغذ): 2
نتیجه: Player 2 wins
--- بازی 2 ---
بازیکن اول: 2
بازیکن دوم: 3
نتیجه: Player 2 wins
--- بازی 3 ---
بازیکن اول: 3
بازیکن دوم: 1
نتیجه: Player 2 wins
توضیح مراحل:
- هر بازیکن عددی بین ۱ تا ۳ انتخاب میکند
- تابع determine_winner() بر اساس قوانین بازی، نتیجه را مشخص میکند
- اگر انتخابها یکسان باشند، بازی مساوی است
- در غیر این صورت، برنده بر اساس ترکیب انتخابها تعیین میشود
Written & researched by Dr. Shahin Siami