0

ループを停止するまでループをファイルに書き込むにはどうすればよいですか?

例えば

outFile = "ExampleFile.txt", "w"
example = raw_input(" enter number. Negative to stop ")
while example >= 0:
    example = raw_input("enter number. Negative to stop")
    outFile.write("The number is", example,+ "\n")

近づいたような気がしますが、よくわかりません。特にこの質問を検索する方法がわかりませんでした。申し訳ありませんが、2 つ以上の引数を入力すると、関数が 1 つの引数を取るというエラーが表示され続けます。

import os.path
outFile = open("purchases.txt","w")
quantity = float(raw_input("What is the quantity of the item :"))
cost = float(raw_input("How much is each item :"))


while quantity and cost >= 0:
    quantity = float(raw_input("What is the quantity of the item :"))
    cost = float(raw_input("How much is each item :"))
    total = quantity * cost
    outFile.write("The quantity is %s\n"%(quantity))
    outFile.write("the cost of the previous quality is $s\n" %(cost))
    outFile.close()
    outFile = open("purchases.txt","a")
    outFile.write("The total is ",total)
    outFile.close()
4

1 に答える 1

0

あなたが書くとき:

outFile = "ExampleFile.txt", "w"

tupleオブジェクトではなくを作成しfileます。

あなたはおそらく次のように書くつもりでした:

outFile = open('ExampleFile.txt','w')

もちろん、コンテキスト マネージャーを使用すると、これをもう少しうまく行うことができます。

with open('ExampleFile.txt','w') as outFile:
    #...

コードに 2 番目のエラーがあります。

outFile.write("The number is", example,+ "\n")

SyntaxError ( ,+) をむき出しにすると、 file.write1 つの引数しか取りません。おそらく次のようなものが必要でした:

outFile.write("The number is {0}\n".format(example))

または古いスタイルの文字列フォーマットを使用する (要求に応じて):

outFile.write("The number is %s\n"%(example))
于 2012-11-29T07:31:38.417 に答える