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

时间:2018-10-11 03:00:21

标签: python-3.7

我正在为我的班级EMT 1111中的一个做作业,而Im暂时停留在这种情况下。我试图回答的问题问了我一个问题:编写一个交互式控制台程序,提示用户读取两个输入值:一个英尺,然后在一行上插入一个英寸数。程序应将此量转换为厘米。这是该程序的示例运行(用户输入如下所示):

此程序将英尺和英寸转换为厘米。 输入英尺数: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"))

每次我继续提交代码时,都会不断收到未绑定的本地错误。有人可以指出我犯的错误,以便我解决

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我不太了解您要做什么,但 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")

希望这对您有所帮助。

答案 2 :(得分:0)

您遇到许多问题:

  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