Alex's answer翻译成英文时有如下一行
print "%2d. %8.2f %8.2f %8.2f" % (
i, payment, interest, monthPayment)
我不确定这条线
"%2d. %8.2f %8.2f %8.2f" % #Why do we need the last % here?
好像是下面的意思
- 申请 %2d。对我
- 使用 %8.2f 付款
- 申请 %8.2f 利息
- 将 %8.2f 应用于 monthPayment
%-words 似乎意味着以下内容
%2d.:两位小数的十进制表示
2-4。 %8.2f:两位小数的 float 表示
我不确定为什么我们在 %8.2f 中使用 8。
你是怎么理解挑战线的?
请您参考如下方法:
8.2中的8是宽度
"要打印的最小字符数。如果要打印的值小于此数字,则结果用空格填充。即使结果更大也不会截断该值"
2是小数位数
最后的 % 只是将格式字符串(在引号中)与参数列表(在括号中)链接起来。 他们选择 % 来执行此操作有点令人困惑 - 可能有一些深层的 python 原因。
编辑:显然使用“%”只是因为在格式内部使用了“%”——恕我直言,这是愚蠢的,肯定会引起混淆。这就像要求在一个 float 的末尾多一个点来表明它是 float 一样!
