簡體   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