第一次写作业遇到的问题

本文展示了如何使用Python实现一个基于条件的推理系统,该系统根据输入的特征进行动物分类。通过示例,解释了列表排序、字符串连接及字典操作等基础知识。同时,给出了一个交互式的输入系统,允许用户输入动物特征,然后根据这些特征推断可能的动物种类。
摘要由CSDN通过智能技术生成
    print(d.get(n[i]),end=" ")#a b c 
    print(d.get(n[i]),end="dddd")#addddbddddcdddd
    print(d.get(n[i]),end="")#abc

不是说怎么不换行吗 ,就加一个end=“”就行,“中间加什么就会补齐什么”

list[i].sort()#[1,2,3,4,5]
list[i].sort(reverse=True)#[5,4,3,2,1]
list.sort()
"""[['1'], ['10', '13', '15', '16'], ['10', '14'], ['10', '21'], ['11', '21'], ['12', '13', '21', '23'], ['12', '14', '21', '23'], ['15', '16', '17', '19', '22', '4'], ['17', '18', '19', '22', '4'], ['2'], ['20', '22'], ['20', '5'], ['3'], ['6'], ['7', '8', '9']]
"""

排序的用法,升序,降序,二维不规则数组排序,可以看出,排序的规则是[0][0][0]从小到大

def tem(*a):
    p=0
    a[p]#控制台显示[1,2,10]而不是1
def tem1(a)
    p=0
    a[p]#1

 对于指针还是要慎用,毕竟a就万物皆可传

list=[[1],[2],[3],[20,5],[6],
      [7,8,9],[21,10],[21,11],[21,23,12,13],[21,23,12,14],
      [10,15,16,13],[10,14],[22,15,16,19,4],[22,18,19,4],[22,20],
      [22,15,16,17,19],[22,18,17,19]]
name=[21,21,22,22,23,23,24,24,"金钱豹","虎","长颈鹿","斑马","鸵鸟","企鹅","信天翁","鸵鸟","企鹅"]
d={
    1 :"有毛发",
    2 :"产奶",
    3 :"有羽毛",
    4 :"不会飞",
    5 :"会下蛋",
    6 :"吃肉",
    7 :"有犬齿",
    8 :"有爪",
    9 :"眼盯前方",
    10:"有蹄",
11:"反刍",
12:"黄褐色",
13:"有斑点",
14:"有黑色条纹",
15:"长脖",
16:"长腿",
17:"不会飞",
18:"会游泳",
19:"黑白二色",
20:"善飞",
21:"哺乳类",
22:"鸟类",
23:"食肉类",
24:"蹄类",

}

def find_next(a):
    tem=0
    str1=""
    listTem=[]
    while tem< len(list):
        if len(list[tem]) <= len(a):
            p=0
            q=0
            count=0
            while p< len(a) and q< len(list[tem]):
                if a[p]==list[tem][q]:
                    p+=1
                    q+=1
                    count+=1
                elif a[p]<list[tem][q]:
                    p+=1
                else:q+=1
            if count==len(list[tem]):
                tttt=0
                ttttt=0

                for tt in range(len(a)):
                    if str(a[tt])==str(name[tem]):
                         tttt=1
                         break
                for tt in range(len(listTem)):
                    if str(listTem[tt])==str(name[tem]):
                        tttt=1
                        break
                if tttt==0:
                    listTem.append(name[tem])
                    for g in range(len(list[tem])):
                        if g< len(list[tem])-1:
                            str1=str1+d.get(list[tem][g])+","
                        else:
                            str1=str1+d.get(list[tem][g])
                            if tem<8:
                               str1=str1+"->"+d.get(name[tem])
                            else:str1=str1+"->"+name[tem]
                    print(str1)
                    str1=""
        tem+=1
    return listTem



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:蹄类                 *
                           ******************************************************
                           ****************当输入数字0时!程序结束*******************
   
''')
j=0
while j< len(list):
    list[j].sort()
    j+=1
i=int(input("请输入:"))
a=1
n=[]

while i!=0:
    n.append(i)
    i=int(input("请输入:"))
    a=a+1
n.sort()
length=0
print("前提条件为:")
s=""
""""""
i=0

while i <len(n):
    print(d.get(n[i]),end=" ")
    i+=1
tem=[]
print("\n推理过程如下:")
while length!= len(n):
    length=len(n)
    tem=find_next(n)
    n=n+tem
    tem=[]

 这是我写的产生式系统

结果如下:

输入对应条件前面的数字:

                           *****************************************************
                           *1:有毛发   2:产奶    3:有羽毛   4:不会飞   5:会下蛋      *
                           *6:吃肉    7:有犬齿   8:有爪    9:眼盯前方  10:有蹄       *
                           *11:反刍   12:黄褐色  13:有斑点  14:有黑色条纹    15:长脖  *
                           *16:长腿   17:不会飞  18:会游泳  19:黑白二色     20:善飞   *
                           *21:哺乳类  22:鸟类   23:食肉类  24:蹄类                 *
                           ******************************************************
                           ****************当输入数字0时!程序结束*******************
   

请输入:13
请输入:15
请输入:16
请输入:2
请输入:10
请输入:21
请输入:24
请输入:0
前提条件为:
产奶 有蹄 有斑点 长脖 长腿 哺乳类 蹄类 
推理过程如下:
有蹄,有斑点,长脖,长腿->长颈鹿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 北邮linux的第三次上机作业是在系统管理课程中所进行的,主要涵盖了对Linux系统的进程管理、文件系统扩展、定时任务、用户和组管理等方面的学习。 在进程管理方面,我们主要掌握了如何使用ps命令、top命令和kill命令来查看、控制和关闭进程。在文件系统扩展方面,我们学习了如何使用LVM技术来管理硬盘的扩容和分区,以及如何使用fdisk命令来对磁盘进行分区管理。 此外,我们还掌握了如何使用crontab命令来进行定时任务的管理和设置,以及如何使用useradd命令和usermod命令来进行用户和组的管理和权限设置。这些技能对于如今的系统管理者而言是必须的。 在此次实验中,我们通过实际操作,更好地理解了Linux系统管理的机制和原理,掌握了课堂所学的知识点,并且对系统管理者所需要具备的能力进行了深入的思考和探讨。这些都是我们在今后的学习和工作中必不可少的技能。 ### 回答2: 北邮linux第三次上机作业是一项挑战性较高的任务,要求参与者具备一定的软件编程和计算机网络方面的知识。任务主要分为两个部分,第一部分是编程序,第二部分是进行网络配置。 在编程序的部分,参与者需要使用C或C++编一个多线程的程序,并通过文件读取或用户输入来进行数据处理。该任务要求参与者能够熟练运用多线程的编程思想,以及能够对数据进行有效的处理和分析。此外,还要求程序能够稳定运行,并在遇到异常情况时给出正确的提示信息。 在网络配置的部分,参与者需要在Linux系统上配置一个网络服务,并对相应的服务进行测试。该任务要求参与者具备一定的计算机网络知识,能够熟练操作Linux系统,并能够利用相应的工具完成网络配置。此外,还要求参与者能够对配置的服务进行实际测试,并对测试结果进行分析。 总的来说,北邮linux第三次上机作业是一项涉及多个方面的任务,要求参与者具备综合的软件编程和计算机网络能力。完成该任务可以帮助参与者提高自己的技术水平,同时也有助于加强他们的团队沟通和协作能力。 ### 回答3: 北邮Linux第三次上机作业是一项关于Shell编程的实践任务,要求学生通过练习,掌握Shell脚本的基本语法和应用,加深理解Linux操作系统的特性和原理。该次实践作业旨在提高学生的实际操作能力,培养学生的团队精神和创新意识。 该作业的主要任务是实现一个小型的Shell应用程序,包括输入输出和文件操作、字符串操作和文件查找等多个功能。学生需要根据题目要求设计功能模块,编Shell脚本程序,并进行测试和调试。实践过程中,要注意代码规范性和运行效率,以及对实验结果的记录和总结。 通过这次实践作业,学生可以更加深入地理解Shell编程语言,掌握Linux操作系统的基本操作和应用技巧,提高自己的逻辑思维和编程水平。同时,通过团队协作和分享经验,可以加强学生的交流和合作意识,培养创意和创业精神。 总之,北邮Linux第三次上机作业是一项富有挑战和创新性的实践任务,可以为学生打下深厚的理论和实践基础,提高学生的实际操作能力,激励学生的创新和创业精神,为未来的职业生涯做好充分准备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值