人工智能-动物识别专家系统(pyqt5)

1.题目要求:

人工智能-动物识别专家系统(pyqt5)_第1张图片

2.实现过程

1.设计UI界面

首先使用QtDesigner设计UI界面,只将24个可输入的事实及其编号列在界面上(有编号便于参照规则库输入),24个复选框是以4*6的矩阵排列,使用了horizontalLayout水平布局和verticalLayout垂直布局。

界面上有两个按钮--确定和清除;以及一个label显示提示以及结果。

人工智能-动物识别专家系统(pyqt5)_第2张图片

按钮设置了一个点击的效果,在鼠标移动到按钮上时,按钮的颜色会变深。

人工智能-动物识别专家系统(pyqt5)_第3张图片

在Edit Style Sheet中设置如下:

人工智能-动物识别专家系统(pyqt5)_第4张图片

2.编写代码

因为只有两个代码文件,界面很简单,代码量很少,所以文件都放在了一级目录下面。

题目中给的存放规则的结构体,因为不知道python的list中部分元素一起比较怎么实现,所以我直接拆成了relation和animal两个列表,一个是存放条件组,一个是存放对应条件的结果。

人工智能-动物识别专家系统(pyqt5)_第5张图片

设置背景颜色:

设置显示框的颜色和字体大小颜色:

(1)规则匹配

首先把24个复选框放在列表里,以便于后续的操作。

人工智能-动物识别专家系统(pyqt5)_第6张图片

然后是定义一个空列表存放被选中的动物特征序号,同时定义一个字符串存放输出的内容。

循环遍历复选框列表,获取选中状态,将选中的序号存入列表中。

人工智能-动物识别专家系统(pyqt5)_第7张图片

然后将得到的序号列表与规则进行匹配,匹配成功就退出,然后在label中显示识别出的动物名称。

人工智能-动物识别专家系统(pyqt5)_第8张图片

(2)清除选择

首先也是将24个复选框放进列表中,之后通过循环遍历把每一个复选框的状态设置为未选中。

3.运行结果

打开界面如下:

人工智能-动物识别专家系统(pyqt5)_第9张图片

成功识别动物的界面如下:

人工智能-动物识别专家系统(pyqt5)_第10张图片

人工智能-动物识别专家系统(pyqt5)_第11张图片

未能根据选中特征识别出动物的界面如下:

人工智能-动物识别专家系统(pyqt5)_第12张图片

代码链接:百度网盘 

提取码:vyr7

你可能感兴趣的:(人工智能,python,pyqt5,人工智能)