Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 0是什么意思?它怎么可能有三个项目_Python_Python 3.x_Function_If Statement_Return - Fatal编程技术网

Python 0是什么意思?它怎么可能有三个项目

Python 0是什么意思?它怎么可能有三个项目,python,python-3.x,function,if-statement,return,Python,Python 3.x,Function,If Statement,Return,我很难理解这些代码行: return (0, user, computer) return (-1, user, computer) 我的问题:0、-1和1是什么意思?()怎么可以有三个项目在里面 非常感谢!我是初学者。我们需要很多帮助,并对此表示感谢 原始代码如下: def play(): user = input("What's your choice? 'r' for rock, 'p' for paper, 's' for scissors\n&quo

我很难理解这些代码行:

return (0, user, computer)        
return (-1, user, computer)
我的问题:0、-1和1是什么意思?()怎么可以有三个项目在里面

非常感谢!我是初学者。我们需要很多帮助,并对此表示感谢

原始代码如下:

def play():
    user = input("What's your choice? 'r' for rock, 'p' for paper, 's' for scissors\n")
    user = user.lower()

    computer = random.choice(['r', 'p', 's'])

    if user == computer:
        return (0, user, computer)         #?????????????????

    # r > s, s > p, p > r
    if is_win(user, computer):
        return (1, user, computer)

    return (-1, user, computer)

这里,
-1
表示用户输了,
0
表示平局,
1
表示用户赢了
()
代表元组,这是一种数据结构类型,是一种iterable。
return
语句可以返回Python中任何类型的对象


请参阅:

首先回答您的问题:

0、-1和1是什么意思

0:抽签; 1:用户获胜; -1:用户输(计算机赢)

()怎么可以有三个项目在里面

在python中,当您将返回的内容放在括号之间时,您将返回一个
元组


总之,这个代码要求用户选择(石头、布、剪刀),然后计算机也随机选择一个。然后这两个选项被发送到决定比赛结果的is_win

这是一个选择。这些问题和答案可能会有所帮助:函数返回一个称为“元组”的数据结构。下面是一个它可以做的例子:至于数字意味着什么,这是一个程序逻辑问题(它们没有内在意义),但我假设它分别表示0、-1和1的平局、用户输了或用户赢了。值得注意的是,这是一个非常奇怪的代码。您不应该期望编写这样的东西。@AdamSmith:A
collections.namedtuple
将是通常的方法(因为依赖
元组的代码仍然可以工作,新代码可以访问命名属性(如果愿意的话)。不客气;-)