Alex的答案在翻译成英文时有以下几行
print "%2d. %8.2f %8.2f %8.2f" % (
i, payment, interest, monthPayment)
Run Code Online (Sandbox Code Playgroud)
我不确定这条线
"%2d. %8.2f %8.2f %8.2f" % #Why do we need the last % here?
Run Code Online (Sandbox Code Playgroud)
它似乎意味着以下内容
%-words似乎意味着以下内容
%2d:两位小数的十进制表示
2-4.%8.2f:两位小数的浮点表示
我不确定为什么我们使用8 in%8.2f.
您如何理解具有挑战性的路线?
8.2中的8是宽度
"要打印的最小字符数.如果要打印的值小于此数字,则结果用空格填充.即使结果较大,也不会截断该值"
2是小数位数
最后的%只是将格式字符串(引号)与参数列表(括号中)链接起来.他们选择%来做这件事有点令人困惑 - 可能有一些深刻的蟒蛇理由.
编辑:显然'%'的使用仅仅是因为'%'在格式中使用 - 这是恕我直言,并且保证会引起混淆.这就像在浮点数的末尾需要一个额外的点来表明它是浮点数!