繁体   English   中英

格式化小数位

[英]Formatting decimal places

我有一个创建一个类来添加复数的赋值,我让程序完全不同于小数位格式,教师给出的预期输出文件在小数点后面有6个位置,我的输出给出两个。

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)

这个怎么样?

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

说明:

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

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

.6将精度设置为6。

g删除无效的零

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM