猴子吃香蕉编程题_2只小猴子摘了3根香蕉

猴子吃香蕉编程题_2只小猴子摘了3根香蕉实验目的(1)熟悉谓词逻辑表示法;(2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。实验内容房子里有一只猴子(即机器人),位于a处。c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过python语言编程实现猴子摘香蕉问题的求解过程。”’猴子摘香蕉问题的Python编程实现”’#全局变量ii=0defMonkey_go_box(x,y.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

实验目的
(1)熟悉谓词逻辑表示法;
(2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。
实验内容
房子里有一只猴子(即机器人),位于a处。b处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的c处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过python语言编程实现猴子摘香蕉问题的求解过程。
在这里插入图片描述

''' 猴子摘香蕉问题的Python编程实现 '''
#全局变量i
i=0
def Monkey_go_box(x,y):
    global i
    i=i+1
    print('step:',i,'monkey从',x,'走到'+y)

def Monkey_move_box(x,y):
    global i
    i = i + 1
    print('step:', i, 'monkey把箱子从', x, '运到' + y)

def Monkey_on_box():
    global i
    i = i + 1
    print('step:', i, 'monkey爬上箱子')

def Monkey_get_banana():
    global i
    i = i + 1
    print('step:', i, 'monkey摘到香蕉')


import sys

#读取输入的运行参数,
codeIn=sys.stdin.read()
codeInList=codeIn.split()
#运行参数分别表示monkey、banana、box的位置,
monkey=codeInList[0]
banana=codeInList[1]
box=codeInList[2]
print('操作步骤如下:')
#请用最少步骤完成猴子摘香蕉任务
###########开始#############
Monkey_go_box(monkey, box)
Monkey_move_box(box, banana)
Monkey_on_box()
Monkey_get_banana()


###########结束#############

注:由于输入方式codeIn=sys.stdin.read()和 codeInList=codeIn.split()的特殊性,若你用pycharm编译器运行此代码,则输入 a b c(中间有空格)之后,需要按下Ctrl+D即可得到运行结果。若你使用VScode,则输入a b c之后,需要按下Ctrl+Z+Enter之后即可运行。

Pycharm运行截图
在这里插入图片描述

Vscode运行截图
在这里插入图片描述

系列文章:

实验1:猴子摘香蕉问题的Python编程实现
实验2:编程实现简单恐龙识别系统的知识表示
实验3:搜索算法求解8数码问题
实验4:字句集消解实验
实验5:简单恐龙识别系统的产生式推理
实验6:蚁群算法在TSP问题中的实现
实验7:粒子群优化算法实验
实验8:遗传算法在TSP问题中的实现
实验9:BP神经网络实验

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189218.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • activiti工作流开发_flowable工作流

    activiti工作流开发_flowable工作流深入理解Activiti工作流Activiti作为一个流行的开源工作流引擎,正在不断发展,其6.0版本以API形式提供服务,而之前版本基本都是要求我们的应用以JDK方式与其交互,只能将其携带到我们的应用中,而API方式则可以服务器独立运行方式,能够形成一个专网内工作流引擎资源共享的方式。Activiti执行的BPMN2.0,这个规范中有几个要素见下图:其实最经常使用的是开始结束事件和任务,本文就以…

    2022年10月6日
    6
  • Java编译时类型和运行时类型「建议收藏」

    Java编译时类型和运行时类型「建议收藏」一、前言最近在做笔试题的时候,才看到有这么一个知识点,查了好几篇博客,在这里记录一下二、是什么Java引用变量有两个类型,一个是编译时类型,还有一个是运行时类型。编译时类型是由声明该变量时使用的类型所决定,运行时类型是由该变量指向的对象类型决定如果两种类型不一致,就会出现多态,因此就会将子类对象之间赋值给父类引用变量,称为向上转型,而不用进行类型转换。如Animal…

    2022年5月29日
    51
  • nginx转发其他网站_nginx搭建网站

    nginx转发其他网站_nginx搭建网站方式一location=/pospal-api2/openapi/v1/orderOpenApi/addOnLineOrder{proxy_passhttps://openapi5.pospal.cn/openinterface/orderOpenApi/addOnLineOrder;}方式二

    2022年10月18日
    2
  • Linux电子书(百度云下载)[通俗易懂]

    Linux电子书(百度云下载)[通俗易懂]全部放到一个文件夹下了 Linux电子书下载

    2025年8月6日
    3
  • Python文件读写「建议收藏」

    Python文件读写「建议收藏」Python文件读写

    2022年4月20日
    41
  • C/S结构与B/S结构的区别_C/s架构是什么意思

    C/S结构与B/S结构的区别_C/s架构是什么意思深入理解B/S与C/S架构阅读目录: 什么是C/S架构 什么是B/S架构 B/S架构的几种形式 发展前景 一、什么是C/S架构C/S架构是第一种比较早的软件架构,主要用于局域网内。也叫客户机/服务器模式。它可以分为客户机和服务器两层:第一层:在客户机系统上结合了界面显示与业务逻辑;第二层:通过网络结合了数据库服务器。…

    2025年10月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号