Python 格式的数字(打印小数点左边的数字)

Number Formatting in Python (Printing Number Left of Decimal)

我正在尝试使用以下代码打印整数(小数点左边的数字):

print "Completed in %g".format(str(time_difference / 60), 1.0) + " minutes, %g".format(time_difference % 60, 1.0) + " seconds."

相反,我得到:

Completed in %g minutes, %g seconds.

您正在混合打印字符串的方式。要使用 format,请参阅文档 here。你必须使用 {}。例如:

>>> print "Completed in {0:g} minutes, {1} seconds".format(time_difference % 60, 1.0)
Completed in 40 minutes, 1.0 seconds

要使用旧的表示法,您必须使用 % 进行格式化。见 string formatting:

>>> print "Completed in %g minutes, %g seconds" % (time_difference % 60, 1.0)
Completed in 40 minutes, 1 seconds

试试这个:

print "Completed in {} minutes, {} seconds.".format(int(time_difference / 60), int(time_difference % 60))

阅读有关 "format" statement in the Python documentation 的更多信息。

此外,避免使用“+”连接字符串。 join list of strings.

通常效率更高