私は毎月の残高を追跡する小さなプログラムを持っています。これはそのままで正常に動作し、その後、セクションの下に.txtファイルに書き込むように追加しました。私はいくつかの検索をしましたが、それを動作させる方法を理解することはできません。基本的には、このtest.txtファイルに続けて追加したいと思います。新しい月/口座/天びんを入力するたびに、それをファイルに追加します。辞書出力をファイルに書き込む - Python
代わりに、 'exit'の後にtest.txtファイルを追加することで、すべてのループを終了させることはありません。より効率的な
でどの方法がわからない*** EDIT ****
セカンダリの質問に、この更新されたコードは、今test.txtというファイルを作成しますが、ファイルは、各ループの後に空白である - 私は聞いたことがありますこのためにクラスを使う方が良いでしょうが、どのように見えるか分かりません。誰かがそれが素晴らしいとデモンストレーションしたい場合。これは宿題ではなく、これは自分の時間で厳密に学習しています。
アイデア?あなたの元のコードと感謝
# create program to track monthly account balances
savings = []
def add_accounts(date, account, balance):
savings.append({'date': date, 'account': account, 'balance':
balance})
def print_accounts():
print(savings)
while True:
date = input('Enter the date, type exit to exit program: ')
if date == 'exit':
break
account = input('Enter the account: ')
balance = int(input('Enter the balance: '))
add_accounts(date, account, balance)
print_accounts()
with open('test.txt', 'a') as f:
for row in savings():
print (row)
f.write(str(savings[-1]))
file.close()
''ファイルを上書きし、 "ワット" - https://stackoverflow.com/questions/4706499/how-do-you-appendを参照してください-to-a-file –
@ IzaakvanDongen。ああ、ありがとう、 'a'にする必要があります。しかしそれは問題を解決しません。 print_accounts()の行のfor:をまだスロー: TypeError: 'NoneType'オブジェクトは反復不可能です。エラー – JD2775
エラーのトレースバックをコピーしてください。 –