定义字符串时出错

error defining a string

我正在尝试编写一个程序,将一个数字添加到一个字符串中并打印出来。这是我的代码:

n1 = 5
n2 = 6
statement = "number 1: ",n1,") (number 2: ",n2,")"
print(statement)

我想让它打印 (number1: 5 ) * (number2: 6 )

编辑: 我遇到的问题是我的项目是用逗号分隔的,而不是加号。这导致了错误,因为您需要用加号分隔事物。
解决这个问题的 3 种方法是:
答:% formatting

number = 1   
statement = "Your number is %s." % (number)

B:{} formatting

number = 2   
statement = "Your number is {}.".format(number)

C:Converting to a string

number = 3   
statement = "Your number is "+str(number) + "." 

您正在尝试使用逗号运算符连接字符串。这会创建一个元组,而不是字符串。使用 + 运算符连接字符串,如下所示:

statement = "(x +" + str(n1) + ") * (x +" + str(n2) + ")"

但使用字符串格式运算符会更容易:

statement = "(x + {}) * (x + {})".format(n1,n2)

statement = "(x + %s) * (x + %s)" % (n1, n2)

第 4 行中构建语句的语法是从逗号分隔的元素构建列表的语法。您需要以某种方式将整数转换为字符串,并在您想要的空间中工作。我认为这是最接近的等价物:

statement = "(x + " + str(n1) + " ) * (x + " + str(n2) + " )"

这将打印您请求的输出。

当你构建你的 "statement" 变量时,你构建的是一个元组,而不是一个字符串(那些逗号是罪魁祸首)。

将该变量构建为一个字符串,然后您就可以将它添加到另一个字符串中。

statement = "(x + {n1}) * x +{n2})".format(n1=n1, n2=n2)