我試圖將字符串和數字與字符串格式化格式,但我得到一個錯誤字符串拼接
"TypeError: not all arguments converted during string formatting"
這是我的代碼
i = 0
while (i<= 10):
print("insert into Member" + "(Mem_ID)")
print("values" + "(" + "Mem%d" + ")" %(i))
i = i+1
我試圖將字符串和數字與字符串格式化格式,但我得到一個錯誤字符串拼接
"TypeError: not all arguments converted during string formatting"
這是我的代碼
i = 0
while (i<= 10):
print("insert into Member" + "(Mem_ID)")
print("values" + "(" + "Mem%d" + ")" %(i))
i = i+1
問題是你如何使用%
正在更換的%d
應在報價旁邊應有%(var)
。
i = 0
while (i<= 10):
print("insert into Member " + "(Mem_ID)")
print("values " + "(" + "Mem%d"%(i) + ")")
i += 1
請記住,您應該使用.format()
作爲當前的方法。
i = 0
while (i<= 10):
print("insert into Member " + "(Mem_ID)")
print("values " + "(" + "Mem{}".format(i) + ")")
i += 1
另外要清楚一些你的報價是不需要的。你也可以使用它。
i = 0
while (i<= 10):
print("insert into Member (Mem_ID)")
print("values (Mem{})".format(i))
i += 1
你可以這樣做更多simplier如果轉換成INT像這樣的字符串:
i = 0
while (i<= 10):
print("insert into Member " + "(Mem_ID)")
print("values " + "(" + "Mem" + str(i) + ")")
i = i+1
嘗試:'打印( 「值(MEM%d)」 %(I))'....沒有'+' – depperm
這不回答你的問題,但你不應該使用Python的內置的字符串格式來組合sql語句。無論你用什麼庫來執行sql,都會有一個特性讓你插入變量而不會有sql注入攻擊的危險。 – Kevin
嘗試'print(「values(Mem%d)」%(i))' – kuro