我想使用带有布尔OR的IF语句来使用字符串和整数类来计算变量的值。这是我的几个不同开关之一的代码:
if (autoSelect_mode == 'Search' or 1):
return {'position':1}
elif (autoSelect_mode == 'Verify' or 2):
return {'position':2}
elif (autoSelect_mode == 'Track' or 3):
return {'position':3}
代码运行没有错误,但似乎完全忽略了这个切换逻辑,并选择了切换位置1而不管我的初始值。模拟被中断(可能是在执行了所有代码时),并提示继续,重置或停止模拟。如果我的代码是“合法的”,那么我希望模拟能够继续运行,直到我用手动开关位置设置覆盖代码。
我想使用这种“混合类”技术的原因是运行模拟的配置文件可以设置为整数(用于切换位置)或字符串用于实际的'人类可读'文本值变量。无论为配置文件选择哪个类,在设置初始值时都将使用该类。
谢谢。