是什么原因造成“类型错误:不串中转换的所有参数格式”
问题描述:
此代码产生错误:是什么原因造成“类型错误:不串中转换的所有参数格式”
# -*- coding: utf-8 -*-
amount = float(input("Enter the purchase price please."))
down_payment=amount *0.10
monthly_rate = (amount - down_payment) *.05
ending_balance=amount-down_payment
print("|Ø-6s|Ø-16s|Ø-9s|Ø-8s|Ø-14s|" % ("Month" , "Current Balance" , "Interest" , "Payment" , "Ending Balance"))
month = 1
while True:
starting_balance = ending_balance
interest = starting_balance * 0.01
final_amount = (starting_balance+interest)
if monthly_rate > final_amount:
monthly_rate = final_amount
ending_balance = final_amount - monthly_rate
print("|Ø-6f|Ø-16f|Ø-9f|Ø-8f|Ø-14f|" % (month , starting_balance , interest , monthly_rate , ending_balance))
month+=1
if ending_balance <= 0:
break
错误:
<module>
print("|Ø-6s|Ø-16s|Ø-9s|Ø-8s|Ø-14s|" % ("Month" , "Current Balance" , "Interest" , "Payment" , "Ending Balance"))
TypeError: not all arguments converted during string formatting
答
您的格式化使用%
代替Ø
字符串。
print("|%-6s|%-16s|%-9s|%-8s|%-14s|" % ("Month" , "Current Balance" , "Interest" , "Payment" , "Ending Balance"))
和
print("|%-6f|%-16f|%-9f|%-8f|%-14f|" % (month , starting_balance , interest , monthly_rate , ending_balance))
你不提供格式说明您的任何值,所以没有价值的使用,使他们所有遗留下来的。 – kindall