这在python上可能吗?你知道吗
def NearSourceFactor(seismic_source_distance,seismic_source_select):
Na = 0
if (seismic_source_distance <= 2) and (seismic_source_select == "A"):
Na == 1.5
elif (seismic_source_distance <= 5) and (seismic_source_select == "A"):
return Na == 1.2
elif (seismic_source_distance > 10) and (seismic_source_select == "A"):
return Na == 1.0
elif (seismic_source_distance <= 2) and (seismic_source_select == "B"):
return Na == 1.3
elif (seismic_source_distance <= 5) and (seismic_source_select == "B"):
return Na == 1.0
elif (seismic_source_distance > 10) and (seismic_source_select == "B"):
return Na == 1.0
elif (seismic_source_distance <= 2) and (seismic_source_select == "C"):
return Na == 1.0
elif (seismic_source_distance <= 5) and (seismic_source_select == "C"):
return Na == 1.0
elif (seismic_source_distance > 10) and (seismic_bldg_geometry == "C"):
return Na == 1.0
Na = NearSourceFactor(seismic_source_distance,seismic_source_select)
seismic_source
是10,seismic_source_select
=B,但不幸的是答案是“无”
我希望答案是1.0
我修复了它,所以它可以做你想要的,但请注意以下事项:
a)没有理由配置要返回的变量,只需返回值(例如,返回1)
b)写入Na==1.0时,实际上是在比较并接收布尔值。你知道吗
c)试着看看是否可以将逻辑更改为没有那么多if语句(似乎您的默认值为1,因此可以将所有内容放在else语句中(例如)
相关问题 更多 >
编程相关推荐