Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;名称可以是未定义的";python中的问题_Python_Input_Undefined - Fatal编程技术网

&引用;名称可以是未定义的";python中的问题

&引用;名称可以是未定义的";python中的问题,python,input,undefined,Python,Input,Undefined,我试图改进我的代码,所以这是关于一个“问题通知”,告诉我一个变量可以是未定义的。 这是我的代码: print('\nWindow types') print('1:1200 x 1300 mm') print('2:800 x 1000 mm') print('3:2100 x 1500 mm') Window_Dimension = float(input('Select window type: ')) if Window_Dimension == 1: A = 1200 B

我试图改进我的代码,所以这是关于一个“问题通知”,告诉我一个变量可以是未定义的。 这是我的代码:

print('\nWindow types')
print('1:1200 x 1300 mm')
print('2:800 x 1000 mm')
print('3:2100 x 1500 mm')
Window_Dimension = float(input('Select window type: '))
if Window_Dimension == 1:
    A = 1200
    B = 1300
elif Window_Dimension == 2:
    A = 800
    B = 1000
elif Window_Dimension == 3:
    A = 2100
    B = 1500
else:
    print('Invalid input!')

Lip_height = float(input('\nEnter lip eight (mm): '))
SWind_velocity = 80  # m/s Static wind velocity
print('Assuming a peak wind velocity of: 80 m/s')
Wind_pressure = (SWind_velocity ** 2) / 1600  # kN/m^2
print('Wind pressure (kN/m^2):', Wind_pressure)
a = A - (2 * Lip_height)
b = B - (2 * Lip_height)
Lip_area = (A * B) - (a * b)  # m^2
Lip_pressure = (Wind_pressure * (A * B) / 1000000) / (Lip_area / 1000000)  # kN/m^2
print('Uniform pressure on the lip (kN/m^2): ', round(Lip_pressure, 3))
它工作正常,但我一直收到关于这两行的问题通知:

a = A - (2 * Lip_height)
b = B - (2 * Lip_height)

告诉我A和B可以是未定义的。我不知道是否有办法解决这个问题,或者我是否应该解决它,但我是python新手,我正在努力避免将来的“编码坏习惯”。谢谢

不要简单地打印错误消息,在出现问题时继续。抛出异常。而不是

print('Invalid input!')
考虑

raise Exception('Invalid input!')

据我所知,它工作得很好。我没有得到任何错误。也许您需要在一开始就定义变量。 在开头添加以下内容:

a=0
b=0
这将在开始时正确设置变量,无需计算。以后,它只会重写变量,而不会创建它


让我知道这是否有效

@OcasoProtal这个问题将在codereview上迅速解决,因为我们希望相关代码能够正常工作。断开的代码是离题的。定义变量的虚幻值可能会在以后弄乱代码。我最初发布的内容没有提示错误,只是警告。这非常有效,我将阅读“raiseexception()”命令的文档,谢谢