题目描述

石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。
游戏规则:石头打剪刀,布包石头,剪刀剪布。
现在,需要你写一个程序来判断石头剪子布游戏的结果。

输入格式

输入包括N+1行:
第一行是一个整数N,表示一共进行了N次游戏。1 <= N <= 100。
接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):
S1 S2
字符串之间以空格隔开S1,S2只可能取值在{“Rock”, “Scissors”, “Paper”}(大小写敏感)中。

输出格式

输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

样例输入

3
Rock Scissors
Paper Paper
Rock Paper

样例输出

Player1
Tie
Player2

提示

Rock是石头,Scissors是剪刀,Paper是布。

代码演示:

def bs(S1, S2):    # 构造一个函数来比较输赢
if S1 == S2: # 当两者一样的时候 平局
print("Tie")
elif (S1 == "Rock" and S2 == "Scissors") or (S1 == "Scissors" and S2 == "Paper") or (
S1 == "Paper" and S2 == "Rock"): # player1大于player2有三种情况
print("Player1")
else: # 剩下的即为player2大于player1
print("Player2")


N = int(input()) # 比赛场数
for i in range(N): # 每场比赛 双方出的手势
Player1, Player2 = input().split()
bs(Player1, Player2)

解题思路:

本题很好理解,你要比赛几场就输入场次,然后通过for循环,输入每次比赛双方出的手势,并比较大小

比较大小可以写个函数来比较,函数分为三部分,平局,player1赢,player2赢

可以用if-elif-else语句来判断

平局时为player1 == player2

player1赢时,即石头大于剪刀,剪刀大于布,布大于石头,只要满足其中一个player1赢

以上皆不满足时,为player2赢

思路清晰后就可以写代码啦