Python、ファイル書き込みの方法について
一日の総摂取たんぱく質量を計算するプログラムを作っています。
計算結果を出力するだけでは簡単なので、書き込みたいと思っています。
しかし、ファイルに書き込む際にエラーが出てしまいました。
発生している問題・エラーメッセージ
今日あなたが摂取したたんぱく質の量(g)を計算します。 卵の個数(卵一つにつき9g):6 プロテイン摂取回数(摂取一回につき17g):4 鶏むね肉(むね肉100gにつき21g):600 どのファイルに保存しますか:tas.txt Traceback (most recent call last): File "C:\Prog1\自由課題2.py", line 24, in <module> protein(e,p,b,filename) File "C:\Prog1\自由課題2.py", line 9, in protein f.write('卵を',str(e),'つ(',str(ex),')、プロテインを') TypeError: write() takes exactly one argument (5 given)
該当のソースコード
python
1def protein(e,p,b,filename): 2 s=0 3 with open(filename, mode='w',encoding='utf-8') as f: 4 ex = e * 9 5 px = p * 17 6 bx = b * 0.21 7 s = ex + px + bx 8 f.write('あなたが今日摂取したたんぱく質は以下の通りです。\n') 9 f.write('卵を',str(e),'つ(',str(ex),')、プロテインを') 10 f.write(str(p),'回(',str(px),')、鶏むね肉を',str(b),'グラム(',str(int(bx)),')\n') 11 f.write('合計で',str(int(s)),'gです。\n') 12 13 14print('今日あなたが摂取したたんぱく質の量(g)を計算します。') 15e = input('卵の個数(卵一つにつき9g):') 16p = input('プロテイン摂取回数(摂取一回につき17g):') 17b = input('鶏むね肉(むね肉100gにつき21g):') 18e = int(e) 19p = int(p) 20b = int(b) 21filename = input('どのファイルに保存しますか:') 22 23 24protein(e,p,b,filename) 25 26 27
試したこと
文字列型しか書き込めないと思ったためstr(e)のように、整数型を文字列型に変換して書き込んだ。それぐらいしか私にはできませんでした。(*- -)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。