Python 2.7.10 SyntaxError: invalid syntax

Python 2.7.10 SyntaxError: invalid syntax

为什么这个功能不起作用?

    def elo(Winner_Elo,Loser_Elo):
        max_ero = float(400)
        voitto = 1
        havio = 0
        K = 20
        odotusarvo1 = 1/(1 + (10**((Loser_Elo - Winner_Elo)/max_ero))
        odotusarvo2 = 1/(1 + (10**((Winner_Elo - Loser_Elo)/max_ero))
        elo1 = Winner_Elo + K*(voitto - odotusarvo1)
        elo2 = Loser_Elo + K*(havio - odotusarvo2)
        return elo1, elo2

错误:

File "sss.py", line 39
   odotusarvo2 = 1/(1 + (10**((Winner_Elo - Loser_Elo)/max_ero))
          ^
SyntaxError: invalid syntax

第一个变量 'odotusarvo1' 似乎工作正常?

而不是这个:

        odotusarvo1 = 1/(1 + (10**((Loser_Elo - Winner_Elo)/max_ero))
        odotusarvo2 = 1/(1 + (10**((Winner_Elo - Loser_Elo)/max_ero))

这样做:

        odotusarvo1 = 1/(1 + (10**((Loser_Elo - Winner_Elo)/max_ero)))
        odotusarvo2 = 1/(1 + (10**((Winner_Elo - Loser_Elo)/max_ero)))

你的括号不平衡。

您在 max_ero

后忘记了一些括号
def elo(Winner_Elo,Loser_Elo):
    max_ero = float(400)
    voitto = 1
    havio = 0
    K = 20
    odotusarvo1 = 1/(1 + (10**((Loser_Elo - Winner_Elo)/max_ero)))
    odotusarvo2 = 1/(1 + (10**((Winner_Elo - Loser_Elo)/max_ero)))
    elo1 = Winner_Elo + K*(voitto - odotusarvo1)
    elo2 = Loser_Elo + K*(havio - odotusarvo2)
    return elo1, elo2