小编Cos*_*gia的帖子

python中的自调用函数

假设我正在尝试用Python制作BattleShip游戏.我有一个名为board的列表列表.板中的每个列表都是板的那一行中的空格列表,对于这个例子,它将是5x5:

[['clear', 'clear', 'clear', 'clear', 'clear'],
['clear', 'clear', 'clear', 'clear', 'clear'],
['clear', 'clear', 'clear', 'clear', 'clear'],
['clear', 'clear', 'clear', 'clear', 'clear'],
['clear', 'clear', 'clear', 'clear', 'clear']]
Run Code Online (Sandbox Code Playgroud)

我想创建一个函数来返回板中的随机空白区域.

def pl_point(board):
    place = [randrange(0,5),randrange(0,5)] #heh, found out these aren't inclusive.
    if board[place[0]][place[1]] == "clear": return place
    else:
        return pl_point() #calls itself until a clear place is found
Run Code Online (Sandbox Code Playgroud)

以下是我的问题:在获得函数调用之前它是否效率低,直到获得它想要的值(即使电路板几乎完全填满)?我应该采取更好的方式吗?

我无法弄清楚如何使用while语句,因为语句在分配之前总是引用'place',我想不出任何不会引用超出范围的地方的值或未分配的'董事会'价值.

如果这是一个重复的主题我很抱歉,我试图找到一个类似的但不能.这也是我第一次使用这个网站提出问题而不是回答问题.

python python-2.7

3
推荐指数
1
解决办法
1438
查看次数

标签 统计

python ×1

python-2.7 ×1