编写python石头剪刀布程序,1~500代表“石头” ;501~1000代表“剪刀” ;1001 ~ 1500代表“布” 三局两胜,每局两人全部输入以后,print两人的出牌情况和胜负;三局完以后,最终输出获胜者; 输出每次对决的手势和对决结果; 对最终的胜负概率进行统计和输出;
时间: 2024-03-03 15:47:24 浏览: 57
课程大作业基于python开发的剪刀石头布游戏猜拳游戏源码.zip
好的,我来为您编写一个石头剪刀布程序。
```python
import random
# 定义手势对应的数字
ROCK = range(1, 501)
SCISSORS = range(501, 1001)
PAPER = range(1001, 1501)
# 定义胜利的情况
WIN_CASES = ((ROCK, SCISSORS), (SCISSORS, PAPER), (PAPER, ROCK))
# 记录每个玩家胜利的次数
player1_wins = 0
player2_wins = 0
# 进行三局两胜的游戏
for i in range(3):
print(f"第{i+1}局开始!")
player1_hand = int(input("玩家1,请出拳(1-石头,2-剪刀,3-布):"))
player2_hand = random.randint(1, 3)
if player1_hand == 1:
player1_hand = ROCK
elif player1_hand == 2:
player1_hand = SCISSORS
else:
player1_hand = PAPER
if player2_hand == 1:
player2_hand = ROCK
elif player2_hand == 2:
player2_hand = SCISSORS
else:
player2_hand = PAPER
print(f"玩家1出了:{player1_hand}\n玩家2出了:{player2_hand}")
if player1_hand == player2_hand:
print("平局!")
elif (player1_hand, player2_hand) in WIN_CASES:
print("玩家1胜利!")
player1_wins += 1
else:
print("玩家2胜利!")
player2_wins += 1
if player1_wins == 2 or player2_wins == 2:
break
# 输出最终胜利者
if player1_wins > player2_wins:
print("玩家1获胜!")
else:
print("玩家2获胜!")
# 输出胜负概率
winning_probability = player1_wins / (player1_wins + player2_wins)
print(f"最终胜负概率为:{winning_probability}")
```
这个程序中,我们首先定义了石头、剪刀、布对应的数字范围,以及胜利的情况。然后在进行游戏的时候,每个玩家输入自己出的拳,程序会随机生成另一个玩家出的拳,并判断胜利的情况。最后输出胜利者和胜负概率。
阅读全文