临潮听海 2021-08-05 14:01 采纳率: 100%
浏览 58
已结题

我想用python编写一个检索程序

假设
出现情况1有以下【A,B,C,D,E】可能性
出现情况2有以下【A,B,C,''1'',''2'',''3''】可能性
出现情况3有以下【A,C,''3'',''4'',''5''】可能性
出现情况4...
出现情况100有以下【AA,BB,CC,DD,''11'',''33''】可能性

#出现不同情况时,将各种情况的可能性相加,并推算出得分靠前的几种可能性。
比如情况1、情况2、情况3同时出现
那么可能性就是【A3,B2,C*2,''3''*2,C,D,E,''1'',''2''】
可能性最多的是A,B,C,''3''
再根据变量选择
IF A and B 那么推导出 结果1
IF A and C 那么推导出 结果2
IF A and B and C 那么推导出 结果3
依次类推

最后根据结果检索数据库,根据结果1检索出解决方案1
结果2检索出解决方案2
依次类推

我想编写出一个带录入和检索界面的软件。录入界面录入情况,可能性,结果,解决方案。并且前面四个因素关联性一并录入。

我也想自己学一学python不知道哪个库可以完成,我应该从哪入手学习。

并且我想写一个反推的检索结构,就是当输入解决方案时,输出可能的情况。

  • 写回答

3条回答 默认 最新

  • CSDN专家-文盲老顾 2021-08-05 18:24
    关注
    
    group = [['a','b','c','d','e'],['a','b','c','1','2','3'],['a','c','3','4','5']]
    
    def groupRank(group,arr):
        a = []
        for i in arr:
            a += group[i]
        b = set(a)
        c = {n:a.count(n) for n in b}
        d = {n:[] for n in set(c.values())}
        for i in c:
            d[c[i]].append(i)
        return d
    
    print(groupRank(group, [0,1,2]))
    

    我猜你的意思是,各种组合的可能性下,可能性最高的几个,使用集合和列表统计即可得到各个可能性组合后的可能性,return 的数据,你可以自行调整,只取可能性最高的返回应该就是你要的结果了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 已采纳回答 8月6日
  • 创建了问题 8月5日

悬赏问题

  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口