能否用vba穷举开关 是否,看能否使原数在左右列里的加减乘除得到与最终输出左和最终输出右结果相同


开关,左,右
否,NAN,+10
否,NAN,-60
否,-60,+80
是,-20,NAN
否,*2,-20
否*2,+60
否,-10,*2
是,*2,NAN
遍历处理开关为“是的行”,就可以得出左、右结果
Python 代码
#!/sur/bin/nve python
# coding: utf-8
num = 240
s = '''开关,左,右
否,NAN,+10
否,NAN,-60
否,-60,+80
是,-20,NAN
否,*2,-20
否*2,+60
否,-10,*2
是,*2,NAN'''
s_yes = [i.split(',')[1:] for i in s.split('\n') if i[0] == '是']
print('\n开关“是”的数据:\n', s_yes)
left = right = num
for i in s_yes:
l, r = i
left = left if l == 'NAN' else eval(f"{left}{l}")
right = right if r == 'NAN' else right+eval(f"{right}{r}")
print(f"\n原数:{num};左 -> {left},右 -> {right}")
代码运行效果截屏图片