python中具有相同值的不同键

python中具有相同值的不同键,python,Python,我正在写一个简单的游戏:“石头剪刀”。 我分配 1至“文件” 2到剪刀 3.摇滚乐 我编写了决定谁获胜的函数。此函数获取两个值:计算机的选择和用户的选择 def winner(computer, user) : difference = computer - user dic = { [1,-2] : "computer" , [-1,2] : "user", [0]: "draw" } 我如何让dic有所不同,并获得它们的价值 正如您所看到的,您不能像那样使

我正在写一个简单的游戏:“石头剪刀”。 我分配

1至“文件”

2到剪刀

3.摇滚乐

我编写了决定谁获胜的函数。此函数获取两个值:计算机的选择和用户的选择

def winner(computer, user) :
difference = computer - user 
dic = {
    [1,-2] : "computer" ,
    [-1,2] : "user",
    [0]: "draw"
    }

我如何让dic有所不同,并获得它们的价值

正如您所看到的,您不能像那样使用多个键。但是,您可以只在字典中输入几个具有相同值的键:

dic = {
    1 : "computer",
    -2 : "computer",
    -1 : "user",
    2 : "user",
    0: "draw"
}

对于您的情况,您可以考虑完全放弃<代码> DICT<代码>:

def winner(computer, user):
    difference = (computer - user) % 3
    if difference == 2:
        return "computer"
    elif difference == 1:
        return "user"
    return "draw"

字典键不能是可变类型,请尝试使用元组而不是列表。(编辑:VNM,只使用1:“计算机”,-2:“计算机”考虑这个实现:“如果差模3==2,那么用户,如果差模3==1,那么计算机绘制。”