Python - 并非所有参数都在字符串格式化期间转换

Python - not all arguments converted during string formatting

我已经开始学习 python 的教程,之前没有编程经验。目前,我正在做练习 5,我必须将 t运行s 变成厘米,反之亦然,然后出现问题。我正在使用 2.12 python 并且暂时不打算切换本教程。为什么会出现这个简单的问题,而且我无法弄清楚原因,我感到非常恼火和沮丧。这是代码:

centimeter = 1
inch = centimeter * 2,54
converted_value = 10 * inch

print "i decided to convert 10 inches to centimeters. Results are astonishing. %d " % converted_value

我 运行 在 Windows powershell 中练习,它向我报告了这个:

"Traceback (most recent call last):
  File "vaja5.py", line 28, in <module>
    print "i decided to convert 10 inches to centimeters. Results are astonishing. %d" % converted_value
TypeError: not all arguments converted during string formatting"

提前感谢您的所有帮助。非常感谢

centimeter * 2,54 创建一个包含 2 个元素的元组 (2,54)。当您尝试向只有一个占位符 (%d) 的字符串(元组已解压)提供 2 个参数时,就会出现问题。

变化:

inch = centimeter * 2,54

至:

inch = centimeter * 2.54

你打错了:

inch = centimeter * 2,54

应该是

inch = centimeter * 2.54

您的原始语法详述为

inch = (centimeter * 2, 54)

所以你最终分配了一个元组,这导致了格式错误。