如何修复 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")
希望对您有所帮助。
您有很多问题:
- 在你的第二行,你在定义之前使用
feet
。
- 在第 9 行,您使用
print
作为变量而不是函数。
- 同样在第 9 行,您有应该打印在
input
函数中的内容
- 这是次要的,但我建议使用自我描述的变量名。
考虑到这一点,让我们重构您的代码:
#!/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
我正在为我的一个 类 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")
希望对您有所帮助。
您有很多问题:
- 在你的第二行,你在定义之前使用
feet
。 - 在第 9 行,您使用
print
作为变量而不是函数。 - 同样在第 9 行,您有应该打印在
input
函数中的内容 - 这是次要的,但我建议使用自我描述的变量名。
考虑到这一点,让我们重构您的代码:
#!/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