如何修复 Python 3 中的未绑定本地错误

How do I fix Unbound Local Error in Python 3

我正在为我的一个 类 EMT 1111 做家庭作业,目前我陷入了这种情况。我试图回答的问题问我这个问题:编写一个交互式控制台程序,提示用户读入两个输入值:英尺数,然后在单独的一行上跟英寸数。该程序应将此数量转换为厘米。这是程序的示例 运行(用户输入如下所示):

此程序将英尺和英寸转换为厘米。 输入脚数:5 输入英寸数:11 5 英尺 11 英寸 = 180.34 厘米

这里是我到目前为止为这个程序作业所做的编码

centimeters = 2.54
feet_to_inches = feet * 12

print("This program converts feet and inches to centimeters.")
feet = int(input("Enter number of feet: ")) 
inches = int(input("Enter number of inches: "))
inches_to_centimeters = (feet_to_inches + inches) * centimeters

print = float(input(feet, "ft", inches, "in =",inches_to_centimeters, "cm"))

每次我继续提交代码时,我都会收到未绑定的本地错误。谁能指出我犯的错误,这样我就可以改正

我不确定这是否是错误的原因,但在你的最后一行你使用 print 作为变量名。 print是python中的关键字,不能作为变量名使用。

我不太明白你想做什么,但是,print() 并不真正支持你编写那些传递的参数的方式。 对于提供的这段代码,这应该是这样工作的:

centimeters = 2.54
print("This program converts feet and inches to centimeters.")

feet = int(input("Enter number of feet: ")) 
feet_to_inches = feet * 12
inches = int(input("Enter number of inches: "))
inches_to_centimeters = (feet_to_inches + inches) * centimeters

print(+feet, "ft", +inches, "in =", + inches_to_centimeters, "cm")

希望对您有所帮助。

您有很多问题:

  1. 在你的第二行,你在定义之前使用 feet
  2. 在第 9 行,您使用 print 作为变量而不是函数。
  3. 同样在第 9 行,您有应该打印在 input 函数中的内容
  4. 这是次要的,但我建议使用自我描述的变量名。

考虑到这一点,让我们重构您的代码:

#!/usr/bin/env python3.7

最好包含一个 shebang 行以确保您针对正确的 Python 版本。

feet_to_inches_multiplier = 12
inches_to_centimeters_multiplier = 2.54

正如我所说,使用自描述变量。这样他们的目的是什么就更明显了。

print("This program converts feet and inches to centimeters.")

这条线没问题。

feet = int(input("Enter number of feet: ")) 
inches = int(input("Enter number of inches: "))
centimeters = (feet * feet_to_inches_multiplier) * inches_to_centimeters_multiplier

希望您能在这里看到可读性的提高以及厘米计算的自然流动方式。

print(feet, "ft", inches, "in =", centimeters, "cm")

我认为这应该是一个简单的 print 语句。

这是输出:

This program converts feet and inches to centimeters.
Enter number of feet: 1
Enter number of inches: 1
1 ft 1 in = 30.48 cm