当前位置:   article > 正文

动物判别系统python实现_python动物识别系统

python动物识别系统

动物判别系统

由于明天的实验时间较为紧张,所以本人提前完成实验,将代码呈现如下(有些许参考):

由于明天的实验时间较为紧张,所以本人提前完成实验,将代码呈现如下(有些许参考):
  • 1
#判断有无重复元素
def judge_repeat(value,list=[]):
    for i in range(0,len(list)):
        if(list[i]==value):
            return 1
        else:
            if(i!=len(list)-1):
                continue
            else:
                return 0
#对综合数据库进行结果判断           
def judge_animal(list):
    for i in list:
        if(i=='23'):    #食肉
            for i in list:
                if(i=='12'):   #黄褐色
                    for i in list:
                        if(i=='21'):   #哺乳类
                            for i in list:
                                #老虎和金钱豹的差异唯一在于有斑点和有黑色条纹上。
                                if(i=='13'):   #有斑点
                                     print("黄褐色,有斑点,哺乳类,食肉类->金钱豹\n")
                                     print("所识别的动物为金钱豹")
                                     return 0
                                elif(i=='14'): #有黑色条纹
                                    print("黄褐色,有黑色条纹,哺乳类,食肉类->虎\n")
                                    print("所识别的动物为老虎")
                                    return 0
        #斑马与长颈鹿都为蹄类动物
        elif(i=='24'):  #蹄类   
            for i in list:
                #判断斑马
                if(i=='14'): #有黑色条纹
                    print("有黑色条纹,蹄类->斑马\n")
                    print("所识别的动物为斑马")
                    return 0   
                #判断长颈鹿
                elif(i=='13'): #有斑点
                    for i in list:
                        if(i=='15'):  #长脖子
                            for i in list:
                                if(i=='16'):
                                    print("有斑点,有黑色条纹,长脖子,蹄类->长颈鹿\n")
                                    print("所识别的动物为长颈鹿")
                                    return 0
        elif(i=='20'):
            for i in list:
                if(i=='22'):
                    print("善飞,鸟类->信天翁\n")
                    print("所识别的动物为信天翁")
                    return 0
 
        elif(i=='22'):
            for i in list:
                if(i=='4'):
                    for i in list:
                        if(i=='15'):
                            for i in list:
                                if(i=='16'):
                                    print("不会飞,长脖,长腿,鸟类->鸵鸟\n")
                                    print("所识别的动物为鸵鸟")
                                    return 0
        elif(i=='4'):
            for i in list:
                if(i=='22'):
                    for i in list:
                        if(i=='18'):
                            for i in list:
                                if(i=='19'):
                                    print("不会飞,会游泳,黑白二色,鸟类->企鹅\n")
                                    print("所识别的动物企鹅")
                                    return 0
                                
        else:
            if(list.index(i) != len(list)-1):
                continue
            else:
                #如果未找到则输出“根据所给条件无法判断为何种动物”
                print("\n根据所给的初始条件无法判断该动物是什么动物")

#以键值对(K-V)的形式存储相关的特征列表信息,1-24为特征值;25-31为判断的动物
dict_before={'1':'有毛发','2':'产奶','3':'有羽毛','4':'不会飞','5':'会下蛋','6':'吃肉','7':'有犬齿',
             '8':'有爪','9':'眼盯前方','10':'有蹄','11':'反刍','12':'黄褐色','13':'有斑点','14':'有黑色条纹',
             '15':'长脖子','16':'长腿','17':'不会飞','18':'会游泳','19':'黑白二色','20':'善飞','21':'哺乳类',
             '22':'鸟类','23':'食肉类','24':'蹄类','25':'金钱豹','26':'虎','27':'长颈鹿','28':'斑马',
             '29':'鸵鸟','30':'企鹅','31':'信天翁'}    

#用于提示用户输入相应的数字     
print("--------------------------------------------------【动物识别系统】---------------------------------------")        
print('''请输入特征条件前面的数字(具体对应如下):
                                [    1:有毛发  2:产奶  3:有羽毛  4:不会飞  5:会下蛋          
                                     6:吃肉  7:有犬齿  8:有爪  9:眼盯前方  10:有蹄         
                                     11:反刍  12:黄褐色  13:有斑点  14:有黑色条纹  15:长脖 
                                     16:长腿  17:不会飞  18:会游泳  19:黑白二色  20:善飞   
                                     21:哺乳类  22:鸟类  23:食肉类  24:蹄类               ]                               
     ''' )
print("-------------------------------------------- 【输入Q或q退出!!!!!】-----------------------------------")
#综合数据库
list_real=[]

#循环输入前提条件所对应的字典中的键
while(1):
    num_real=input("请输入:")
    list_real.append(num_real)
    if(num_real=='Q' or num_real=='q'):  #当输入Q或q实现退出判断
        break
print("\n")
#输出前提条件
print("前提条件为:")

for i in range(0,len(list_real)-1):
    print(dict_before[list_real[i]],end=" ")
print("\n")
print("推理过程如下:")

#遍历综合数据库list_real中的前提条件
for i in list_real:
    if(i=='1'):
        if(judge_repeat('21',list_real)==0):
            list_real.append('21')
            print("有毛发->哺乳类")
    elif(i=='2'):
        if(judge_repeat('21',list_real)==0):
            list_real.append('21')
            print("产奶->哺乳类")
    elif(i=='3'):
        if(judge_repeat('22',list_real)==0):
            list_real.append('22')
            print("有羽毛->鸟类")
    else:
        if(list_real.index(i) !=len(list_real)-1):
            continue
        else:
            break
for i in list_real:
    if(i=='4'):
        for i in list_real:
            if(i=='5'):
                if(judge_repeat('22',list_real)==0):
                    list_real.append('22')
                    print("不会飞,会下蛋->鸟类")
    elif(i=='6'):
        for i in list_real:
            if(i=='21'):
                if(judge_repeat('21',list_real)==0):
                    list_real.append('21')
                    print("食肉->哺乳类")
    elif(i=='7'):
        for i in list_real:
            if(i=='8'):
                for i in list_real:
                    if(i=='9'):
                        if(judge_repeat('23',list_real)==0):
                            list_real.append('23')
                            print("有犬齿,有爪,眼盯前方->食肉类")
    elif(i=='10'):
        for i in list_real:
            if(i=='21'):
                if(judge_repeat('24',list_real)==0):
                    list_real.append('24')
                    print("有蹄,哺乳类->蹄类")
                    
    elif(i=='11'):
        for i in list_real:
            if(i=='21'):
                if(judge_repeat('24',list_real)==0):
                    list_real.append('24')
                    print("反刍,哺乳类->哺乳类")
                    
    else:
        if(i !=len(list_real)-1):
            continue
        else:
            break
 
judge_animal(list_real)  #调用前面的judge_animal函数,实现结果
 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/609701
推荐阅读
相关标签
  

闽ICP备14008679号