我正在尝试做一个非常简单和有点古老的岩石剪刀剪刀游戏,只对玩家和通过控制台运行。在Python中访问函数外部的变量
我有这样的事情:
def rps():
player_hand = input('>_')
machine_hand_opt = ['rock', 'paper', 'scissors']
machine_hand = random.choice(machine_hand_opt)
who_win = machine
if machine_hand == 'rock' and player_hand == 'scissors':
who_win
return who_win
elif clown_hand == 'rock' and player_hand == 'paper':
who_win = 'user'
return who_win
这是代码的唯一组成部分,你能想象的剩余。正如你所看到的,机器手是从列表中随机选择的,我使用变量'who_win'来获取谁胜出然后打印一些东西,但是当打印结果时,用户只知道它是自己的手,而不是机器的手,因为这些函数只返回谁胜出,如果玩家获胜或者失败,显然很容易找出机器的手,但我认为这是一个很好的机会知道如何在函数之外打印变量。它会是这样的:
print("Player's hand:", player_hand)
print("Machine's hand:", machine_hand)
任何想法?
非常感谢您的提示,我会牢记它,但这里的想法是保持简单。但现在我有更多的知识,当我需要它。我使用了一个名为result = rps()的变量来使用rps的结果,这就是我如何确定谁赢了,但我不知道如果我返回这三个函数怎么可能。那我怎么能得到结果呢? – 2015-01-04 11:21:04
@AndresOrozco:你的意思是3 *值*?你可以使用'machine_hand,player_hand,result = rps()',其中'result'仍然是相同的值。或者你可以使用'result = rps()',其中'result'现在是一个元组,'result [0]'是机器手,'result [1]'玩家手,'result [2]'谁赢得了比赛。 – 2015-01-04 11:25:38
谢谢。这对我帮助很大。 – 2015-01-05 02:39:23