2301_79345507 2023-08-07 12:22 采纳率: 0%
浏览 15

关于#穷举#的问题,如何解决?(语言-开发语言)

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

img

  • 写回答

3条回答 默认 最新

  • 梦幻精灵_cq 2023-08-07 12:49
    关注
    • 您的数据

      img


      转换成csv文本就是
    开关,左,右
    否,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}") 
    
    
    • 代码运行效果截屏图片

      img


    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月7日

悬赏问题

  • ¥15 MS中不知道高分子的构型怎么构建模型
  • ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
  • ¥15 matlab代码 关于微分方程和嵌套的分段函数。
  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密