有办法让石头剪刀游戏的代码更具效率,可以通过使用条件语句和函数来减少代码行数。以下是一个示例代码:
def play_game(player1, player2):
if player1 == player2:
return "平局"
elif (player1 == "石头" and player2 == "剪刀") or (player1 == "剪刀" and player2 == "布") or (player1 == "布" and player2 == "石头"):
return "玩家1获胜"
else:
return "玩家2获胜"
player1 = input("玩家1,请选择石头、剪刀或布:")
player2 = input("玩家2,请选择石头、剪刀或布:")
result = play_game(player1, player2)
print(result)
在上述代码中,我们定义了一个play_game
函数,该函数接受两个玩家的选择作为参数,并根据规则判断胜负。通过使用条件语句,我们可以避免冗长的if-else嵌套,使代码更加简洁和易读。
此外,我们还可以进一步优化代码,使用字典来存储石头剪刀布的胜负关系,从而减少条件判断的次数。以下是优化后的示例代码:
def play_game(player1, player2):
rules = {
("石头", "剪刀"): "玩家1获胜",
("剪刀", "布"): "玩家1获胜",
("布", "石头"): "玩家1获胜",
("剪刀", "石头"): "玩家2获胜",
("布", "剪刀"): "玩家2获胜",
("石头", "布"): "玩家2获胜",
}
if player1 == player2:
return "平局"
else:
return rules.get((player1, player2), "无效选择")
player1 = input("玩家1,请选择石头、剪刀或布:")
player2 = input("玩家2,请选择石头、剪刀或布:")
result = play_game(player1, player2)
print(result)
在优化后的代码中,我们使用了一个字典rules
来存储石头剪刀布的胜负关系。通过使用字典的get
方法,我们可以根据玩家的选择快速获取胜负结果,避免了多次条件判断。
这样的优化可以使代码更加简洁、高效,并且易于维护和扩展。对于石头剪刀布这样简单的游戏来说,这种优化可能并不会带来明显的性能提升,但对于复杂的应用场景和大规模的代码来说,优化代码是非常重要的。
领取专属 10元无门槛券
手把手带您无忧上云