格式化python

时间:2017-01-24 16:33:51

标签: python input formatting numbers format

我正在努力格式化我的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))

3 个答案:

答案 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

这个插入用户输入等式的确切内容。