定义字符串的错误

时间:2016-02-01 22:46:29

标签: python string python-3.x add

我正在尝试创建一个向字符串添加数字并打印它的程序。这是我的代码:

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) + "." 

3 个答案:

答案 0 :(得分:2)

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

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

但是使用字符串格式化操作符会更容易:

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

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

答案 1 :(得分:0)

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

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

这将打印您请求的输出。

答案 2 :(得分:0)

构造“statement”变量时,构建的是元组,而不是字符串(这些逗号是罪魁祸首)。

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

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