Python 2.7.10 SyntaxError:语法无效

时间:2016-10-21 20:10:08

标签: python python-2.7 syntax-error

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

    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'似乎工作得很好?

2 个答案:

答案 0 :(得分:0)

而不是:

        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)))

你的括号不平衡。

答案 1 :(得分:0)

你在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