1

我正在做一个关于 ppm 文件的项目,我必须在其中拍摄图像并使其成为灰度并翻转图像。方法是取数字的平均值。

P3
255
....
200 200 200
300 300 300 

因此,平均值为 200 和 300。

Averages=[200,300]
for i in averages:
    print(str(i)*3,"\n")

这给了我

200200200
300300300 

如何让它看起来像原版?我的方法是读取每一行作为字符串转换为列表,然后取每个列表的总和和平均值,然后像原始列表一样输出。这是解决这个问题的好方法吗?

4

4 回答 4

2
In [7]: for i in Averages:
        print(" ".join([str(i)]*3)+"\n")
   ...:  
   ...:  
200 200 200

300 300 300
于 2012-10-17T16:43:58.723 回答
0

你可以用空格连接你的字符串:-

print((str(i) + ' ') * 3, "\n")

或者: -

print(' '.join([str(i)]*3) + "\n")
于 2012-10-17T16:43:42.277 回答
0

如何阅读python手册以进行字符串格式化

于 2012-10-17T16:46:59.723 回答
0

如果你真的一次写 3 个元素,为什么不直接写:

print '{0} {1] {2}\n'.format(i,i,i)

这对我来说似乎是最易读的方式......

于 2012-10-17T16:47:35.087 回答