定义字符串时出错
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)
我正在尝试编写一个程序,将一个数字添加到一个字符串中并打印出来。这是我的代码:
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)