def function1():
for row in rows:
for column in columns:
if condition:
board[row][column] += 1
# more code
def function2():
for column in columns:
for row in rows:
if condition:
board[row][column] += 1
# more code
如果满足条件,两个函数都执行相同的代码。两个函数中的条件相同。有没有办法编写单个函数,这样我就不必重复 board[row][column] += 1
和 # more code
。
答案 0 :(得分:1)
如果“更多代码”太长,值得编写一个函数,除了 order
和 columns
之外,还需要 rows
参数,所以它会是:
def function(first_items, second_items, order):
for f_item in first_items:
for s_item in second_items:
if condition:
if order:
board[f_item][s_item] += 1
else:
board[s_item][f_item] += 1
# more code
然后像这样调用:
function(rows, columns, True) // first case
function(columns, rows, False) // second case