Python 串接字符串格式

Python 串接字符串格式,python,Python,我试图用字符串格式连接字符串和数字,但我得到一个错误 TypeError:在字符串格式化过程中并非所有参数都已转换 这是我的密码 i = 0 while (i<= 10): print("insert into Member" + "(Mem_ID)") print("values" + "(" + "Mem%d" + ")" %(i)) i = i+1 如果将int转换为如下字符串,则可以更简单地执行此操作: i = 0 while (i<= 10): prin

我试图用字符串格式连接字符串和数字,但我得到一个错误

TypeError:在字符串格式化过程中并非所有参数都已转换

这是我的密码

i = 0
while (i<= 10):
  print("insert into Member" + "(Mem_ID)")
  print("values" + "(" + "Mem%d" +  ")" %(i))
i = i+1

如果将int转换为如下字符串,则可以更简单地执行此操作:

i = 0
while (i<= 10):
    print("insert into Member " + "(Mem_ID)")
    print("values " + "(" + "Mem" + str(i) + ")")
    i = i+1

如果将int转换为如下字符串,则可以更简单地执行此操作:

i = 0
while (i<= 10):
    print("insert into Member " + "(Mem_ID)")
    print("values " + "(" + "Mem" + str(i) + ")")
    i = i+1

问题是您如何使用%

被替换的%d应该在报价旁边有%var

i = 0
while (i<= 10):
    print("insert into Member " + "(Mem_ID)")
    print("values " + "(" + "Mem%d"%(i) +  ")" )
    i += 1
另外要清楚的是,你的一些报价是不需要的。你也可以用这个

i = 0
while (i<= 10):
    print("insert into Member (Mem_ID)")
    print("values (Mem{})".format(i))
    i += 1

问题是您如何使用%

被替换的%d应该在报价旁边有%var

i = 0
while (i<= 10):
    print("insert into Member " + "(Mem_ID)")
    print("values " + "(" + "Mem%d"%(i) +  ")" )
    i += 1
另外要清楚的是,你的一些报价是不需要的。你也可以用这个

i = 0
while (i<= 10):
    print("insert into Member (Mem_ID)")
    print("values (Mem{})".format(i))
    i += 1

try:printvaluesMem%d%i….否+这并不能回答您的问题,但无论如何,您都不应该使用Python内置的字符串格式来编写sql语句。用于执行sql的任何库都将具有一项功能,允许您插入变量,而不会有sql注入攻击的危险。请尝试PrintValuesEM%d%i@depperm它成功了,非常感谢:@Kevin我只是用它来生成假数据,这很简单:printvaluesMem%d%i….不+这不能回答你的问题,但无论如何,您不应该使用Python内置的字符串格式来编写sql语句。用于执行sql的任何库都将具有一项功能,允许您插入变量,而不会有sql注入攻击的危险。请尝试PrintValuesEM%d%i@depperm它起作用了,非常感谢:@Kevin我只是用它来生成假数据而已你和Op有相同的缩进问题确保你在回答问题时使用正确的缩进。缩进i=i+1,还有我的上帝。。。今天我的眼睛怎么了。。。谢谢你们所有的朋友!哈哈,这是常有的事。试着快速回答有时会让你忽略一些简单的事情。你的缩进问题和你的一样。确保你在回答问题时使用正确的缩进。缩进i=i+1以及我的上帝。。。今天我的眼睛怎么了。。。谢谢你们所有的朋友!哈哈,这是常有的事。试图快速做出反应有时会让你忽略一些简单的事情。