Python 如何为下面给出的代码片段添加“格式”?

Python 如何为下面给出的代码片段添加“格式”?,python,python-2.7,Python,Python 2.7,此代码的输出如下 zip(a,b,c,d) with open('output.dat', 'w') as f: print >>f, ("%-25s %-25s %-25s %s" %(x, y, z, k)) writer = csv.writer(f, delimiter='\t') writer.writerows(zip(a,b,c,d)) 我想以指数的形式写出这些数字,并将其四舍五入,例如第一次输出 51715.505899065996

此代码的输出如下

   zip(a,b,c,d)
   with open('output.dat', 'w') as f:
   print >>f, ("%-25s %-25s %-25s %s" %(x, y, z, k))
   writer = csv.writer(f, delimiter='\t')
   writer.writerows(zip(a,b,c,d))
我想以指数的形式写出这些数字,并将其四舍五入,例如第一次输出

51715.505899065996  2724172.4436709681  3081070.212397085   3419080.1274145059 

我怎样才能做到这一点呢?

您可以使用科学记数法格式,如下所示:

5.172E4 ........
对于您的场景,您可以使用地图格式,我将a、b、c、d视为列表,我不知道是否对此有误解:

num = 51715.505899065996
# .3 to keep 3 digit in fractional part
print('%.3e' % num)
print('{:.3e}'.format(num))
# 5.172e+04

希望对您有所帮助。

您可以使用科学记数法格式,如下所示:

5.172E4 ........
对于您的场景,您可以使用地图格式,我将a、b、c、d视为列表,我不知道是否对此有误解:

num = 51715.505899065996
# .3 to keep 3 digit in fractional part
print('%.3e' % num)
print('{:.3e}'.format(num))
# 5.172e+04
希望它对您有所帮助。

打印'%.xe'%y'或打印'{.xe}'。formaty将以科学记数法打印数字y,小数精度为x位

例如,打印“%.2e”%12将打印1.20e+.01

打印“%.xe”%y或打印“{.xe}”。格式将以科学记数法打印数字y,小数精度为x位


例如,print“%.2e”%12将打印1.20e+.01

您定义的num=51715.505并以格式打印,我认为这不能直接添加到上面的代码中,或者可能吗?它可以添加到您的代码中,我将为您修改它,但您需要给我更多的代码,例如a、b、c、d的类型是什么?他们在名单上吗@Ttys@Ttys我已经为你的代码添加了格式,希望这是你需要的。谢谢你的努力。成功了。打印>>f、%-25s%-25s%-25s%s%x、y、z、k是我的标题。不需要停用它们。很高兴听到这个消息,如果它对您有帮助,请接受我的回答:您定义了num=51715.505并以格式打印它,我认为这不能直接添加到上面的代码中,还是可能?它可以添加到您的代码中,我将为您修改它,但您需要给我更多的代码,例如a、b、c、d的类型?他们在名单上吗@Ttys@Ttys我已经为你的代码添加了格式,希望这是你需要的。谢谢你的努力。成功了。打印>>f、%-25s%-25s%-25s%s%x、y、z、k是我的标题。不需要停用它们。很高兴听到这个消息,如果有帮助,请接受我的回答: