14歳の自分に衝撃の事実を告げてください

今ソフトを作っていて調べてもわからないので困っています

合計した数字をtotalという変数に格納しているんですが
ファイルへの書き込みの際にf1.write(total)と書くと
typeerror: argument 1 must be string or read-only character buffer, not int
というメッセージが出ます
totalの中身はintengerなのですが
それをstringに変換する方法はありませんでしょうか?

これがソースコードの一部です

n = input("N_data> ")
p = input("P_data> ")
total = n + p
f1.write(total)

また三行目と四行目の間に
str(total)といれてみましたができませんでした

以上です
よろしくお願いいたします

A 回答 (1件)

MS ASPのカテゴリーですが、Pythonでよろしいですね?



エラーメッセージにあるように、第1引数が文字列(かバッファ)でないといけない、とあるので、そのようにすればよいのです。

書き出し用に一時的に変換するなら
f1.write(str(total))

恒久的に変換しておきたいなら
total = str(total)

とかでしょうね。


数値→文字列変換には他に%演算子を使う方法もあります。
f1.write("%d" % (total,))
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報