1
私はプログラミング割当のためにさまざまな金利のローンを比較するアプリケーションを作成しようとしています。私は一般的に私がやっていることを理解しているが、割り当てを完了することができますが、.format関数の問題が発生しています。私は結果として印刷できるように浮動体をフォーマットしようとしています。Python 3.5.1浮動小数点フォーマットの問題
# Prompts the user to enter a loan amount
loan_amount = eval(input("Enter loan amount in dollars (exclude commas):"))
# Prompts the user to enter a time period
length_years = eval(input("Enter the amount of years as an integer:"))
# Displays the header
print("{0:20s}{1:20s}{2:20s}".format("Interest Rate", "Monthly Payment",
"Total Payment"))
interest_rate = 5.0
while (interest_rate <= 8.0):
monthly_interest_rate = interest_rate/12
monthly_payment = (monthly_interest_rate/100) * loan_amount
total_payment = ((interest_rate/100) * length_years) * loan_amount
print("{<20.6f}{<20.6f}{<20.6f}".format(interest_rate, monthly_payment, total_payment))
interest_rate = interest_rate +.25
そして、これは私が受信エラーである:ここに私のコードです
Enter loan amount in dollars (exclude commas):1000
Enter the amount of years as an integer:10
Traceback (most recent call last):
Interest Rate Monthly Payment Total Payment
File "/Users/Andrew/PycharmProjects/PA1/pa1_main.py", line 45, in <module>
main()
File "/Users/Andrew/PycharmProjects/PA1/pa1_main.py", line 42, in main
print("{<20.6f}{<20.6f}{<20.6f}".format(interest_rate, monthly_payment, total_payment))
KeyError: '<20'
Process finished with exit code 1
あなたは 'eval(input())'が悪いことを彼に伝えることができます。その場合は 'int(input())'を使うこと。 –
@ Jean-FrançoisFabre:私はまだその部分に注意を払っていませんでした。私は確かに意志します。 –
もちろん、 'eval'は悪(セキュリティ上の問題)なので、python 3で' input'が変更されたのです(セキュリティ上の問題もあります) –