最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

剪刀石头布

SEO心得admin66浏览0评论
本文介绍了剪刀石头布-Python 3-初学者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想模拟一个石头剪刀布游戏,这就是我到目前为止所掌握的.这不是让我在scoregame函数中输入字母.我该如何解决?

I'm suppose to simulate a rock paper scissors game and this is what I have so far. It's not letting me input letters into the scoregame function. How can I fix this?

def scoregame(player1, player2): if player1 == R and player2 == R: scoregame = "It's a tie, nobody wins." if player1 == S and player2 == S: scoregame == "It's a tie, nobody wins." if player1 == P and player2 == P: scoregame = "It's a tie, nobody wins." if player1 == R and player2 == S: scoregame = "Player 1 wins." if player1 == S and player2 == P: scoregame = "Player 1 wins." if player1 == P and player2 == R: scoregame = "Player 1 wins." if player1 == R and player2 == P: scoregame == "Player 2 wins." if player1 == S and player2 == R: scoregame == "Player 2 wins." if player1 == P and player2 == S: scoregame = "Player 2 wins." print(scoregame)

推荐答案

您需要针对字符串进行测试;您现在正在针对变量名进行测试:

You need to test against strings; you are now testing against variable names:

if player1 == 'R' and player2 == 'R':

但是您可以通过测试两个玩家是否相等来简化他们选择相同选项的情况:

but you can simplify the case where both players picked the same option by testing if they are equal:

if player1 == player2: scoregame = "It's a tie, nobody wins."

接下来,我将使用一个映射,一个字典来整理出什么胜过什么:

Next, I'd use a mapping, a dictionary, to codify what beats what:

beats = {'R': 'S', 'S': 'P', 'P': 'R'} if beats[player1] == player2: scoregame = "Player 1 wins." else: scoregame = "Player 2 wins."

现在您的游戏可以通过2个测试进行测试.全部放在一起:

Now your game can be tested in just 2 tests. All put together:

def scoregame(player1, player2): beats = {'R': 'S', 'S': 'P', 'P': 'R'} if player1 == player2: scoregame = "It's a tie, nobody wins." elif beats[player1] == player2: scoregame = "Player 1 wins." else: scoregame = "Player 2 wins." print(scoregame)
发布评论

评论列表(0)

  1. 暂无评论