我正在努力格式化我的python程序中的一些数字。用户输入三个数字然后我将它们放入公式中。例如,当在命令行中输入以下数字:1 2 3时,输出应如下所示: x ** 2 + 2x + 3 = 0
相反,我得到这个:1.0x ** 2 + 2.0x + 3.0 = 0
如何格式化它以消除末尾小数?我只想要打印出提交的内容。以下是我的一些代码:
a = float(sys.argv[1])
b = float(sys.argv[2])
c = float(sys.argv[3])
#to format equation
equation = ("{}x**2{}x{}".format(a,b,c))
答案 0 :(得分:0)
只需使用int而不是float
import sys
a = int(sys.argv[1])
b = int(sys.argv[2])
c = int(sys.argv[3])
#to format equation
equation = ("({}x**2)+({}x)+({})".format(a,b,c))
print equation
我试过:python myfile.py -1 -2 3
<强>输出:强>
( - 1 ** 2)+( - 2×)+(3)
答案 1 :(得分:0)
您可以在格式化时键入cast变量。
a = float(sys.argv[1])
b = float(sys.argv[2])
c = float(sys.argv[3])
equation = ("{}x**2{}x{}".format(int(a),int(b),int(c)))
print equation
答案 2 :(得分:0)
每个人的回答都不允许浮动输入。我可以想到有两种方法可以做到这一点:
0
如果它存在,则会从每个数字的末尾删除.
和a = float(sys.argv[1])
b = float(sys.argv[2])
c = float(sys.argv[3])
equation = ("{}x**2+{}x{}".format(sys.argv[1], sys.argv[2], sys.argv[3])
print equation
。
call
这个插入用户输入等式的确切内容。