0

文字列をフォーマットするのに十分な引数がないことがわかりました。何か提案はありますか? それは else f.write 行 (52) にあります。これは、平均ピクセル値を取得し、それを 2 番目の画像に置き換えます。ご覧のとおり、ファイルは両方の画像を読み取り、書き込みます。書き込みプロセス中に、文字列をフォーマットするのに十分な引数がないというエラーが表示されます。

def main():
f = open("BoardHappy.ppm","r")
lines = f.readlines()
kinds = lines[0]
size=lines[1].split()
width=int(size[0])
height=int(size[1])
depth = int(lines[2])

red=[]
green=[]
blue=[]
for i in range(3, len(lines)):
    temp = lines[i].split()
    for j in range(0, len(temp) ,3):
        red.append(int(temp[j]))
        green.append(int(temp[j+1]))
        blue.append(int(temp[j+2]))
f.close()

f = open("Godzilla.ppm","r")
lines = f.readlines()
kinds = lines[0]
size=lines[1].split()
width=int(size[0])
height=int(size[1])
depth = int(lines[2])

red1=[]
green1=[]
blue1=[]
for i in range(3, len(lines)):
    temp = lines[i].split()
    for j in range(0, len(temp), 3):
        red1.append(int(temp[j]))
        green1.append(int(temp[j+1]))
        blue1.append(int(temp[j+2]))
f.close()


f = open("lab5.ppm","w")
f.write("P3 \n")
width=720
height=540
f.write("%d %d \n"%(width,height))
f.write("255 \n")
for i in range(width*height):
    new = (red[i]+green[i]+blue[i])/3.0
    if new >=100:
        f.write("%d %d %d/n"% red[i], green[i],blue[i])
    else:
        f.write("%d %d %d/n"% red1[i], green1[i], blue1[i])

f.close()

main()
4

1 に答える 1

1

ブラケットが必要です:

f.write("%d %d %d/n"% (red[i], green[i],blue[i]))
于 2013-03-04T01:14:33.157 に答える