无法弄清楚 NameError
Can't figure out NameError
我正在尝试主要使用 if 语句来构建成本模型,但我不断收到错误消息:
NameError: name 'spread_1' is not defined.
我是 python 的初学者,所以我不知道我是否做错了什么。请帮忙
#water depth of project site in metres
water_depth = 100
#platform wells require jackups
pl = 1
#1-2 complexity required LWIV
ss_simple = 1
#3-4 complexity requires rig
ss_complex = 0
#day rates
vjackup = 75000
jackup = 90000
vsemi = 170000
semi = 300000
lwiv = 200000
#determining vessel spread for platform wells
if pl >= 1:
if water_depth == range(0, 50):
spread_1 = vjackup * 24.1
elif water_depth == range(51, 150):
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
您应该在
处将 ==
替换为 in
if water_depth == range(0, 50):
和
elif water_depth == range(51, 150):
制作您的代码块:
if pl >= 1:
if water_depth == range(0, 50):
spread_1 = vjackup * 24.1
elif water_depth == range(51, 150):
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
进入
if pl >= 1:
if water_depth in range(0, 50):
spread_1 = vjackup * 24.1
elif water_depth in range(51, 150):
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
但在您的情况下使用极端相等运算符会更实用:
if pl >= 1:
if 0 <= water_depth < 50:
spread_1 = vjackup * 24.1
elif 51 <= water_depth < 150:
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
请注意 range()
函数省略了结束值,因此 range(0, 50)
的最后一个值将是 49
,而不是 50
。
我正在尝试主要使用 if 语句来构建成本模型,但我不断收到错误消息:
NameError: name 'spread_1' is not defined.
我是 python 的初学者,所以我不知道我是否做错了什么。请帮忙
#water depth of project site in metres
water_depth = 100
#platform wells require jackups
pl = 1
#1-2 complexity required LWIV
ss_simple = 1
#3-4 complexity requires rig
ss_complex = 0
#day rates
vjackup = 75000
jackup = 90000
vsemi = 170000
semi = 300000
lwiv = 200000
#determining vessel spread for platform wells
if pl >= 1:
if water_depth == range(0, 50):
spread_1 = vjackup * 24.1
elif water_depth == range(51, 150):
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
您应该在
处将==
替换为 in
if water_depth == range(0, 50):
和
elif water_depth == range(51, 150):
制作您的代码块:
if pl >= 1:
if water_depth == range(0, 50):
spread_1 = vjackup * 24.1
elif water_depth == range(51, 150):
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
进入
if pl >= 1:
if water_depth in range(0, 50):
spread_1 = vjackup * 24.1
elif water_depth in range(51, 150):
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
但在您的情况下使用极端相等运算符会更实用:
if pl >= 1:
if 0 <= water_depth < 50:
spread_1 = vjackup * 24.1
elif 51 <= water_depth < 150:
spread_1 = jackup * 24.1
elif pl == 0:
spread_1 = 0
请注意 range()
函数省略了结束值,因此 range(0, 50)
的最后一个值将是 49
,而不是 50
。