2

私は「Pythonを難しい方法で学ぶ」ことでPythonを学んでいますが、演習16:スタディドリルで問題が発生しています。次の6行のコードを1つに変換するにはどうすればよいですか?:

target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")

私はこれを試し続けました:

lines = line1,"\n",line2,"\n",line3,"\n"
target.write(lines)

しかし、それもうまくいかなかったようで、ターミナルでは次のように述べています:文字バッファオブジェクトを期待していました

演習6を参照した後、次のことを試しました。

lines = "%s\n%s\n%s\n" % line1,line2,line3
target.write(lines)

次に、ターミナルに「TypeError:フォーマット文字列に十分な引数がありません」と表示されます。

また試した:

target.write("%s,\n,%s,\n,%s,\n" % line1,line2,line3)

そして同じ問題を抱えています

4

4 に答える 4

2

演習6を見てから、書いている情報を見てください。これは、このように見えますね。

'<line>\n<line>\n<line>\n'

演習6では、これを解決するのに十分な速度を得ることができます。

于 2013-02-05T17:17:59.593 に答える
1
target.write('\n'.join(lines)) #assuming all the line #s are put in a list called "lines"
于 2013-02-05T17:41:58.687 に答える
0

これは、Python2.7を使用して私のために働いた

Lines = "%s\n%s\n%s" % (Line1, Line2, Line3)

target.write(Lines) 

また

target.write("%s\n%s\n%s" % (Line1, Line2, Line3)) 
于 2015-02-03T22:24:29.733 に答える
0

演習6に関する回答を読んだ後(自分の投稿にコメントしますが、:oはできません)次のコードを作成しました。

line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")
newline = "\n"

print "Now I 'm going to write these to the file."

target.write(line1 + newline + line2 + newline + line3 + newline)

そしてそれは魅力のように機能しました!

于 2015-08-08T00:12:13.540 に答える