前提・実現したいこと
pythonで借金の返済額期間を求めるプログラムを作っています。
練習としてclassを使って作って行こうと思ったのですが
関数内で変更した変数を関数外で使いたいと思ったのですが使えず、
変数内の値が更新されません。
発生している問題・エラーメッセージ
『SyntaxError: name 'debt' is parameter and global』
該当のソースコード
class Calculation(): def tukiduki(self,debt,Repayment_amount,Interest,total,month): global debt global Repayment_amount global Interest global total global month while debt > Repayment_amount : debt = debt * (1 + Interest / 12 / 100) debt -= Repayment_amount total += Repayment_amount month += 1 print(month,'月: 返済額',Repayment_amount,'円','残り',debt) debt = int(input('あなたの借金を入力してね(円)')) Interest = float(input('年利率(%)> ')) Repayment_amount = int(input('月々の返済額')) total = 0 month = 0 Calculation().tukiduki(debt,Repayment_amount,Interest,total,month) debt = debt * (1 + Interest / 12 / 100) all = int(total + debt) debt = int(debt) print(month + 1,'月: 返済額',str(debt),'円これで完済。返済総額:',str(all),'円')
試したこと
調べると変数をglobal宣言すると関数の外でも使えるとわかったので
・class内で宣言して実行すると変数が更新されず、
・メソッド内で宣言し、実行すると下記のエラーが発生↓
『SyntaxError: name 'debt' is parameter and global』
エラーについて調べてみましたが解決方法を見つけることができませんでした。
補足情報(FW/ツールのバージョンなど)
macOS BigSur バージョン11.2.3
python 3.9.5
エディタ VS code 1.58.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/15 01:12
2021/07/16 03:32