2024-04-23 13:32:45 发布
网友
def random_row(board): return randint(0 , len(board) - 1) def random_col(board): return randint(0, len(board)-1)
我的问题是为什么(len(board)-1而不是len(board)?在
random模块有两个函数,它们生成给定范围的随机整数。在
主要区别在于第一个区域是封闭的,而第二个区域是从右侧打开的。在
在您的示例中,randint(0, len(board))可能会返回len(board),而len(board)又会引发一个IndexError,因为数组中元素的索引在0 <= i < len(board)
randint(0, len(board))
IndexError
0 <= i < len(board)
您可以使用randrange(len(board)),它更简洁。在
randrange(len(board))
在Python中,数组从索引0开始。所以数组中的最后一个项目的索引1小于数组的长度。在
例如,如果数组有三个项,则有项[0],项[1]。和第[2]项。如果你尝试了第[3]项,你会得到一个异常,因为没有这样的对象。在
random模块有两个函数,它们生成给定范围的随机整数。在
主要区别在于第一个区域是封闭的,而第二个区域是从右侧打开的。在
在您的示例中,
randint(0, len(board))
可能会返回len(board),而len(board)又会引发一个IndexError
,因为数组中元素的索引在0 <= i < len(board)
您可以使用
randrange(len(board))
,它更简洁。在在Python中,数组从索引0开始。所以数组中的最后一个项目的索引1小于数组的长度。在
例如,如果数组有三个项,则有项[0],项[1]。和第[2]项。如果你尝试了第[3]项,你会得到一个异常,因为没有这样的对象。在
相关问题 更多 >
编程相关推荐