[英]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.