格式化小数位

时间:2019-04-21 21:25:01

标签: python python-3.x

我有一个任务来创建一个添加复数的类,除小数点后的格式外,我的程序也能完全正常工作,教师给的预期输出文件小数点后有6个位,我的输出是2。

class ComplexNumber:  

    def __init__(self, R, I):   
        self.R, self.I = R, I                      


    def add(self, other):  
        self.R = self.R + other.R 
        self.I = self.I + other.I
        return ComplexNumber(self.R, self.I)


    def __str__(self):

        OutStr = str(self.R) 
        OutStr += ' + '
        OutStr += str(self.I)
        OutStr += ' * ' 
        OutStr += 'i'
        return str(OutStr)

InputFile = open('input.txt')
OutFile = open('output.txt', 'w')

for lines in InputFile.readlines(): 
    values = [float(i) for i in lines.split()]
    N_1 = ComplexNumber(values[0], values[1])
    N_2 = ComplexNumber(values[2], values[3])
    N_3 = ComplexNumber.add(N_1, N_2)
    print(N_3)

1 个答案:

答案 0 :(得分:0)

怎么样?

def __str__(self):
    return f'{self.R:.6g} + {self.I} * i'

说明:

{0}告诉格式打印第一个参数。

冒号后面的所有内容都指定format_spec。

.6将精度设置为6。

g删除不重要的零点