[英]How to make the plus sign show for a variable in python
二项式是:(x-3)(x5)
import math
print " This program will find the binomials of an equation."
a = int(raw_input('Enter the first coefficient'))
b = int(raw_input('Enter the second coefficient'))
c = int(raw_input('Enter the third term'))
firstbinomial=str(int((((b*-1)+math.sqrt((b**2)-(4*a*c)))/(2*a))*-1))
secondbinomial=str(int((((b*-1)-math.sqrt((b**2)-(4*a*c)))/(2*a))*-1))
print"The binomials are: (x"+firstbinomial+")(x"+secondbinomial")"
import math
print " This program will find the binomials of an equation."
a = int(raw_input('Enter the first coefficient'))
b = int(raw_input('Enter the second coefficient'))
c = int(raw_input('Enter the third term'))
firstbinomial=str(int((((b*-1)+math.sqrt((b**2)-(4*a*c)))/(2*a))*-1))
if firstbinomial<=0:
sign=""
else:
sign="+"
secondbinomial=str(int((((b*-1)-math.sqrt((b**2)-(4*a*c)))/(2*a))*-1))
if secondbinomial<=0:
sign=""
else:
sign="+"
print"The binomials are: (x"+sign+firstbinomial+")(x"+sign+secondbinomial")"
二项式为:(x + -3)(x + 5)
您需要使用字符串格式来显示正号,或在字符串中显式使用+
:
firstbinomial = (((b * -1) + math.sqrt((b ** 2) - (4 * a * c))) / (2 * a)) * -1
secondbinomial = (((b * -1) - math.sqrt((b ** 2) - (4 * a * c))) / (2 * a)) * -1
print "The binomials are: (x{:+.0f})(x{:+.0f})".format(firstbinomial, secondbinomial)
# prints "The binomials are: (x-3)(x+5)"
(将值保留为浮点型,但格式不带小数点),或
print "The binomials are: (x+{})(x+{})".format(firstbinomial, secondbinomial)
# prints "The binomials are: (x+-3)(x+5)"
-
仅显示,因为负值始终带有其符号打印。
您应该使用字符串格式来生成输出。 可以为数字提供"+"
格式选项,使其始终显示其符号,而不是仅显示负数:
print "The binomials are: (x{:+})(x{:+})".format(firstbinomial, secondbinomial)
这要求您跳过在前几行中为firstbinomial
和secondbinomial
计算的整数值上调用str
的过程。
如果您需要将值(带有符号)作为字符串,则替代方法是使用format
函数而不是str
:
firstbinomial = format(int((((b*-1)+math.sqrt((b**2)-(4*a*c)))/(2*a))*-1), "+")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.