函数的非类型错误

2024-10-02 10:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,对不起我的英语不好。 我有一个问题,我的函数返回我一个非类型错误时,她被执行了2次以上

def random(k, position, impossible):
    """Permet de générer des case où il n'y a pas encore de navires placé
    et qui soit possible (éviter que le bateau soit sur deux lignes),
    l'argument k correspond au navire en cours de placement
    """
    global cases_occupées_bot
    case = randint(0,99)
    print("Salut !", k, position, case, impossible)
    if k == 0: #porte-avion (5 cases)
        if (position == 0 and 
                len(set((case, case)).intersection(set(impossible))) == 0 and
                len(set((case, case+1, case+2, case+3, case+4)).intersection(
                    set(cases_occupées_bot))) == 0):
            cases_occupées_bot.extend([case, case+1, case+2, case+3, case+4])
            return case
        elif (position == 1 and
                len(set((case, case)).intersection(set(impossible))) == 0 and
                len(set((case, case+10, case+20, case+30,case+40)).intersection(
                    set(cases_occupées_bot))) == 0):
            cases_occupées_bot.extend([case, case+10, case+20, case+30, case+40])
            return case
        else:
            random(k, position, impossible)

对于测试此函数,我使用:

random(0,0,[9,19,29,39,49,59,69,79,89,99,8,18,28,38,48,58,68,78,88,98,7,17,27,37,47,57,67,77,87,97,6,16,26,36,46,56,66,76,86,96])

我想知道这是从哪里来的,提前谢谢你的帮助!你知道吗


Tags: and函数lenesbotpositionderandom

热门问题