三硬币的Python实现
时间: 2024-11-06 11:01:44 浏览: 6
【python-opencv】硬币检测与识别
三硬币游戏是一个经典的概率问题,玩家有三次机会投掷三个公正的硬币,如果能同时得到正面或反面,则赢得比赛。以下是使用 Python 的简单实现:
```python
import random
def three_coins_game():
# 初始化结果变量
result = ['H', 'T', 'H'] # 假设第一次掷出 HTH
for i in range(3): # 进行三次投掷
user_guess = input("请输入第{}次掷硬币的结果(HH, HT, TH, HH),或者输入'quit'退出游戏:".format(i+1))
if user_guess.lower() == 'quit':
break
# 用户猜测的合法性检查
if len(user_guess) != 3 or user_guess[0] != user_guess[1] or user_guess[1] != user_guess[2]:
print("无效的输入,请按照格式HTH或THH输入")
continue
# 模拟随机硬币结果
computer_guess = ''.join(random.choices(['H', 'T'], k=3))
# 如果用户猜对了则结束游戏并显示结果
if user_guess == computer_guess:
print("恭喜,你赢了!电脑这次扔出了 {}.".format(computer_guess))
return True
# 如果循环结束用户仍未获胜,表示失败
print("很遗憾,你输了。电脑这次扔出了 {}.".format(computer_guess))
return False
# 开始游戏
if __name__ == "__main__":
game_result = three_coins_game()
if game_result:
print("游戏已结束,你总共玩了{}局。".format('1' if game_result else '0'))
```
在这个实现中,我们首先定义了一个函数 `three_coins_game`,然后通过用户输入和随机生成的结果进行比较。当用户猜对或选择退出时,游戏结束。
阅读全文