我正在尝试创建一个向字符串添加数字并打印它的程序。这是我的代码:
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) + "."
答案 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)