我正在使用python 3.6.
我对第09行和第10行的解包感到困惑.我期望dy_outer在09行等于(0,-1)并dy_inner在09行等于(side-1,0).类似地,我期望dx_outer并且dx_inner在第10行分别等于(0,-1)和(side-1,0).
但是,当set_trace关闭时,我发现第09行dy_outer和dy_inner第9行的值分别等于0和-1.和上也是如此dx_outer,并dx_inner从第10行; 它们分别等于0和-1.
offsets 是一个元组的元组,所以当你迭代它时,它应该解包每个元组,而不是第一个元组中的每个元素.
我对Python范围的直觉是不正确的?
01 def cover(board, lab = 1, top = 0, left =0, side = None):
02 if side is None:
03 side = len(board)
04
05 s = side // 2
06
07 offsets = (0, -1), (side-1, 0)
08
09 for dy_outer, dy_inner in offsets:
10 for dx_outer, dx_inner in offsets:
11 set_trace()
12 if not …Run Code Online (Sandbox Code Playgroud)