python 从剪刀石头布开始
1. 概述
当然,对于刚刚接触编程的同学,剪刀石头布也不失为帮助大家充分熟悉条件控制与循环语句好方法。
这个游戏古老而简单,其中充满了一物降一物和相生相克的哲学思想~~
总而言之,其规则如下:
- 石头克制剪刀
- 剪刀克制布
- 布克制石头
为了顺利完成游戏流程,我们需要做到以下几点:
- 可以通过人机交互的方式输入自己的选择
- 设置电脑机器人进行其自己的选择
- 进行比赛角逐,得出游戏的胜负关系
2. 代码
总体代码如下所示:
import random
import os
import re
// 用户(我们)的选择
def UserChoiceText(userChoice):
if 'S' == str.upper(userChoice):
return '石头'
elif 'J' == str.upper(userChoice):
return '剪刀'
elif 'B' == str.upper(userChoice):
return '布'
os.system('cls' if os.name=='nt' else 'clear')
while (True):
print("\n")
print("石头, 剪刀, 布 - 开始......")
userChoice = input("进行你的选择:[S]石头,[J]剪刀,[B]布,[T]退出: ")
if 'T' == str.upper(userChoice):
print("你选择了退出,GAME OVER。")
break
if not re.match("[JjSsBb]", userChoice):
print("只能选择下面的字母:")
print("[S]石头, [J]剪刀, 或 [B]布.")
continue
print("你的选择: " + UserChoiceText(userChoice))
choices = ['S', 'B', 'J']
opponenetChoice = random.choice(choices) // 机器人(电脑)的选择
print("我的选择: " + UserChoiceText(opponenetChoice))
// 胜负关系的判断
if opponenetChoice == str.upper(userChoice):
print("平局! ")
elif opponenetChoice == 'S' and userChoice.upper() == 'J':
print("石头砸剪刀, 我赢了! ")
continue
elif opponenetChoice == 'J' and userChoice.upper() == 'B':
print("剪刀剪布, 我赢了! ")
continue
elif opponenetChoice == 'B' and userChoice.upper() == 'S':
print("布包石头,我赢了! ")
continue
else:
print("你赢了!")
转载自:https://juejin.cn/post/7125849294405369892