python猴子摘桃问题_python解决简单实际问题

python猴子摘桃问题_python解决简单实际问题如何实现猴子摘香蕉问题,只需要几点即可1.猴子与箱子的位置关系2.箱子与香蕉的位置关系3.猴子有无摘到香蕉猴子摘到香蕉的前提条件1.猴子与箱子在一起2.箱子与香蕉在一起3.猴子在箱子上面4.猴子没有摘到香蕉猴子可能存在的几种位置状态1.箱子和猴子不在一起2.猴子跟箱子在一起且不跟香蕉在一起3.猴子不在箱子上并且猴子跟箱子在一起4.猴子在箱子上并且箱子跟香蕉在一起以及猴子没有摘取香蕉5.猴子在箱子上但箱子不跟香蕉在一起6.猴子取到香蕉根据上述开始


Jetbrains全系列IDE稳定放心使用

如何实现猴子摘香蕉问题,只需要几点即可

1.猴子与箱子的位置关系

2.箱子与香蕉的位置关系

3.猴子有无摘到香蕉

猴子摘到香蕉的前提条件

1.猴子与箱子在一起

2.箱子与香蕉在一起

3.猴子在箱子上面

4.猴子没有摘到香蕉

猴子可能存在的几种位置状态

1.箱子和猴子不在一起

2.猴子跟箱子在一起且不跟香蕉在一起

3.猴子不在箱子上并且猴子跟箱子在一起

4.猴子在箱子上并且箱子跟香蕉在一起以及猴子没有摘取香蕉

5.猴子在箱子上但箱子不跟香蕉在一起

6.猴子取到香蕉

根据上述开始实现代码

首先定义猴子的动作

1.猴子走向箱子

# 猴子走向箱子
def monkey_go_box(monkey,box):
    
    global i  #步数
    i+=1
    print("step "+str(i)+": "+"Monkey从"+monkey+"走向"+box)

2.猴子推箱子  

# 猴子推箱子    
def monkey_push_box(box,banana):
    global i
    i+=1
    print("step "+str(i)+":"+"Monkey将箱子从"+box+"推向"+banana)

3.猴子爬上箱子

# 猴子爬上箱子    
def monkey_clim_box():
    global i
    i+=1
    print("step "+str(i)+": "+"Monkey爬上箱子")

4.猴子爬下箱子

# 猴子爬下箱子
def monkey_drop():
    global i
    i+=1
    print("step "+str(i)+": "+"Monkey爬下箱子")

5.猴子摘取香蕉

# 猴子摘取香蕉
def monkey_grasp():
    global i
    i+=1
    print("step "+str(i)+": "+"Monkey摘到香蕉")

猴子根据不同位置状态做出相应的动作

1.箱子和猴子不在一起才能走向箱子

if monkey!=box:
            monkey_go_box(monkey,box)
            monkey=box

2.猴子跟箱子在一起且不跟香蕉在一起以及猴子不在箱子上才能推

if box!=banana and monkey==box and monkey_y!="1":
            monkey_push_box(box,banana)
            monkey=box=banana

3.猴子不在箱子上并且猴子跟箱子在一起才能爬

if monkey_y!="1" and monkey==box:
            monkey_clim_box()
            monkey_y="1"

4.猴子在箱子上并且箱子跟香蕉在一起以及猴子没有摘取香蕉才能摘取香蕉

if monkey_y=="1" and box==banana and monkey_re!="1":
            monkey_grasp()
            monkey_re="1"

5.猴子在箱子上但箱子不跟香蕉在一起才能爬下箱子

if monkey_y=="1" and box!=banana:
            monkey_drop()
            monkey_y="0"

完整代码

# 猴子走向箱子
def monkey_go_box(monkey,box):
    
    global i  #步数
    i+=1
    print("step "+str(i)+": "+"Monkey从"+monkey+"走向"+box)

# 猴子推箱子    
def monkey_push_box(box,banana):
    global i
    i+=1
    print("step "+str(i)+":"+"Monkey将箱子从"+box+"推向"+banana)
    
# 猴子爬上箱子    
def monkey_clim_box():
    global i
    i+=1
    print("step "+str(i)+": "+"Monkey爬上箱子")
    
# 猴子摘取香蕉
def monkey_grasp():
    global i
    i+=1
    print("step "+str(i)+": "+"Monkey摘到香蕉")
    
# 猴子爬下箱子
def monkey_drop():
    global i
    i+=1
    print("step "+str(i)+": "+"Monkey爬下箱子")



       
if __name__ == "__main__":
    i=0
    print("请输入monkey位置,猴子是否在箱子上(1:在,0:不在)上以及猴子是否摘取香蕉(1:是,0:否),香蕉的位置,箱子的位置:")
    monkey,monkey_y,monkey_re,banana,box=input().split(",")
    
    while True:
        # 箱子和猴子不在一起才能走向箱子
        if monkey!=box:
            monkey_go_box(monkey,box)
            monkey=box
            continue
            
        # 猴子跟箱子在一起且不跟香蕉在一起以及猴子不在箱子上才能推
        if box!=banana and monkey==box and monkey_y!="1":
            monkey_push_box(box,banana)
            monkey=box=banana
            continue
            
        # 猴子不在箱子上并且猴子跟箱子在一起才能爬
        if monkey_y!="1" and monkey==box:
            monkey_clim_box()
            monkey_y="1"
            continue
            
        # 猴子在箱子上并且箱子跟香蕉在一起以及猴子没有摘取香蕉才能摘取香蕉
        if monkey_y=="1" and box==banana and monkey_re!="1":
            monkey_grasp()
            monkey_re="1"
            continue
            
        # 猴子在箱子上但箱子不跟香蕉在一起才能爬下箱子
        if monkey_y=="1" and box!=banana:
            monkey_drop()
            monkey_y="0"
            continue
            
        # 猴子取到香蕉结束
        if monkey_re =="1":
            break

运行图效果

python猴子摘桃问题_python解决简单实际问题

 python猴子摘桃问题_python解决简单实际问题

 

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

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

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

相关推荐

  • 数据编码格式_excel编码格式

    数据编码格式_excel编码格式数据编码

    2022年8月4日
  • Linux宝塔面板安装

    Linux宝塔面板安装

    2021年6月3日
  • imx8主频_x5660处理器怎么样

    imx8主频_x5660处理器怎么样NXPi.MX系列应用处理器是基于32和64位ARM技术,提供多核解决方案,适用于多媒体和显示应用,具有高性能和低功耗、可扩展、安全可靠等特点。其成员有i.MX28系列、i.MX6系列、i.MX7系列、i.MX8系列、i.MXRT系列。这篇文章主要介绍i.MX8系列。i.MX8系列应用处理器根据不同配置有IMX8I、MX8M、IMX8Mini、IMX8MNano、IMX8X…

    2022年10月21日
  • 别踩坑!使用MySQL唯一索引请注意「建议收藏」

    别踩坑!使用MySQL唯一索引请注意「建议收藏」背景在程序设计中了,我们往往需要确保数据的唯一性,比如在常见的注册模块,我们需要确保一个手机号只能注册为一个账号。这种情况下,我们的程序往往是第一道关卡,用户来注册之前,首先判断这个手机号是否已经注册,如果已经注册则返回错误信息。但是我们不能确保同时有两个人使用同一个手机号注册到我们的系统中,因此这里就需要在更深的层次去确保手机号的唯一性了。不同存储方案,解决方式不一样,这里以MySQL为例,我…

    2022年9月20日
  • 图形推理1000题pdf_【3分钟模考】图形推理06组「建议收藏」

    图形推理1000题pdf_【3分钟模考】图形推理06组「建议收藏」考点遍历小模考(图形推理005组)平均错误率:36.1%4题对3题达标1.从所给四个选项中,选择最合适的一个,使之呈现一定规律性:2.要求你从四个图形中把与众不同的挑出来。3.4.左边给定的是纸盒的外表面,下面哪一项能由它折叠而成?答案解析第1题【答案】B【解析】本题属于位置类,主要考查数三角形。题干图形中,重叠数三角形个数依次为1、2、3、4、5,应选有6个…

    2022年9月8日
  • Postman下载安装

    Postman下载安装一、Postman下载1、Postman64位安装包下载:链接:https://pan.baidu.com/s/1lInTrSfW9PMmYI6OsUS2tg提取码:nvbw2、Postman32位安装包下载:链接:https://pan.baidu.com/s/1S_7K9wqyDwuoe-mjQowpKQ提取码:sw7g3、官网下载:地址:https://www.getpostman.com/downloads/,选择页面中的“Download”,根据自己电脑配置,选择32位下载还是64

    2022年6月16日

发表回复

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

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