37,718
社区成员
发帖
与我相关
我的任务
分享
# 5 * 3 的列表
a_len = 5
b_len = 3
# 目标
list_a = [2, 3, 3, 1, 2]
list_b = [4, 2, 5]
# 数据列表
list_data = []
def init_list():
# 初始化列表
for i in range(a_len):
list_data_item = []
for j in range(b_len):
list_data_item.append(0)
list_data.append(list_data_item)
def check_list():
# 合并计算列表值
global list_a, list_b
sum_a = []
sum_b = [0] * b_len
for i in range(a_len):
sum_a.append(sum(list_data[i]))
for j in range(b_len):
sum_b[j] = sum_b[j] + list_data[i][j]
if sum_a == list_a and sum_b == list_b:
return "ok"
else:
return "not"
def ffr(i, j):
# 遍历填写列表
global ffr_times, list_data, a_len, b_len
if i >= a_len :
if check_list() == "ok":
print "Create Ok", list_data
return "ok"
else:
return ""
if j >= b_len:
ffr(i+1, 0)
else:
list_data[i][j] = 0
ffr(i, j + 1)
list_data[i][j] = 1
ffr(i, j + 1)
init_list()
ffr(0,0)