人工智能实验——猴子摘香蕉python


import random
# 全局变量i
i = 0
monkey = []
box = []
banana = []
monbox = []
getit = []


def Monkey_goto(A):
    global i
    i = i + 1
    if A == -1:
        print("Monkey go to A")
        monkey[i] = -1
    elif A == 0:
        print("Monkey go to B")
        monkey[i] = 0
    elif A == 1:
        print("Monkey go to C")
        monkey[i] = 1
    else:
        print("parameter is wrong")


def move_box(A):
    global i
    i = i + 1
    if A == -1:
        print("monkey move box to A")
        monkey[i] = -1
        box[i] = -1
    elif A == 0:
        print("monkey move box to B")
        monkey[i] = 0
        box[i] = 0
    elif A == 1:
        print("monkey move box to C")
        monkey[i] = 1
        box[i] = 1
    else:
        print("parameter is wrong")


def climb_onto_box():
    global i
    i = i + 1
    monbox[i] = 1
    print("Monkey climb onto the box")


def climbdown():
    global i
    i = i + 1
    monbox[i] = 0
    print("Monkey climb down from the box")


def Monkey_get_banana():
    global i
    getit[i] = 1
    print("Monkey reach the banana")


def nextstep():
    global i
    m: int = 0
    j: int
    if i >= 150:
        print("%s  \n", "steplength reached 150,have problem ")
        return
    while getit[i] == 1:
        print("Press any key to continue \n")
        # getchar(); # / * to save screen for user, press any key to
        return
    j = i + 1
    if box[i] == monkey[i] and box[i] == banana[i]:
        if monbox[i] == 0:
            climb_onto_box()
            Monkey_get_banana()
            nextstep()
        else:
            Monkey_get_banana()
            nextstep()
    elif box[i] == monkey[i] and box[i] != banana[i]:
        if monbox[i] == 0:
            move_box(banana[i])
            nextstep()
        else:
            climbdown()
            nextstep()
    elif box[i] != monkey[i] and box[i] == banana[i]:
        Monkey_goto(box[i])
        nextstep()
    elif box[i] != monkey[i] and box[i] != banana[i]:
        Monkey_goto(box[i])
        nextstep()


if __name__ == '__main__':
    n: int = 0
    a: int = random.randint(-1, 1)
    b: int = random.randint(-1, 1)
    c: int = random.randint(-1, 1)
    d: int = 0
    e: int = 0
    print("初始位置:")
    print("monkey:", a)
    print("box:", b)
    print("banana:", c)
    print("monbox:", d)
    while n < 150:
        monkey.append(a)
        box.append(b)
        banana.append(c)
        monbox.append(d)
        getit.append(e)
        n = n + 1
    nextstep()

简单实验,pthon。

主要是通过数组以及全局变量i

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值