如果语句语法错误?

时间:2011-12-19 09:13:41

标签: python

python的新手,目前正在阅读diveintopython并试图从书中运行以下代码:

def buildConnectionString(params):
   """Build a connection string from a dictionary of parameters.

      Returns string."""
      return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
if __name__ == "__main__":
      myParams = {"server":"mpilgrim", \
                  "database":"master", \
                  "uid":"sa", \
                  "pwd":"secret" \
                  }
    print buildConnectionString(myParams)

现在当我点击回车时,Python shell说if语句有语法错误?我正在运行Python 2.7。

4 个答案:

答案 0 :(得分:3)

代码本身正在运行(我刚尝试过)。错误的可能原因是缩进不一致。您的行似乎以不同数量的空格(或制表符)开头。尝试将每个缩进行开头的空格更改为四个空格,然后再次尝试运行该脚本。

答案 1 :(得分:2)

错误在第5行:return应缩进到函数开头"""的水平。

但是,您不应该在shell中输入该代码 - 在文本编辑器中执行此操作。

答案 2 :(得分:0)

看起来你的缩进级别是错误的。看看你粘贴的代码,我猜你正在混合标签和空白,所以你使用的是“坏”编辑器。使用一个用空格替换制表符的编辑器。

答案 3 :(得分:0)

我已经解决了你的问题,我正在上传正确的代码语法

def buildConnectionString(params):
   return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
if __name__ == "__main__":
    myParams = {"server":"mpilgrim", \
                  "database":"master", \
                  "uid":"sa", \
                  "pwd":"secret" \
                }
print (buildConnectionString(myParams))

我希望这对你有用,也对你有用!!

Output