簡體   English   中英

python if語句語法錯誤?

[英]python If statement Syntax error?

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。

代碼本身正在運行(我剛剛嘗試過)。 錯誤的一個可能原因是不一致的縮進。 您的行似乎以不同數量的空格(或制表符)開頭。 嘗試將每個縮進行開頭的空格更改為四個空格,然后再次嘗試運行腳本。

錯誤在第 5 行: return應在函數開頭"""的級別縮進。

但是,您不應該在 shell 中輸入該代碼 - 在文本編輯器中輸入。

我已經解決了你的問題,我正在上傳正確的代碼語法

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

我希望這對你有用,也對你有用!!

輸出

看起來您的縮進級別是錯誤的。 查看您粘貼的代碼,我猜您正在混合制表符和空格,因此您使用的是“壞”編輯器。 使用用空格替換制表符的編輯器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM