You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
python_exp/algorithm.py

67 lines
1.5 KiB

from copy import deepcopy
from level import *
from global_var import get_value
maxlevel = 3 # 需要指明最大的level
def search_path():
pa = []
cur = get_value('cur')
for (lev, p) in cur.items():
for i in p:
pa.append(i.ImagePath)
# print(pa)
return pa
def node(level): # 通过level指定需要的类型
ui = get_value('ui')
if level == 0:
return level0()
elif level == 1:
return level1()
elif level == 2:
return level2()
else:
return level3()
def delete():
cur = get_value('cur')
# delete操作
ui = get_value('ui')
cur.clear()
ui.update0()
ui.update1()
ui.update2()
ui.update3()
ui.show_image()
def merge(level):
if level == maxlevel:
return
cur = get_value('cur')
upcnts = len(cur[level]) // 3
delcnts = len(cur[level]) % 3
while len(cur[level]) != delcnts:
cur[level].pop()
if level + 1 <= maxlevel and upcnts > 0:
create(upcnts, level + 1)
def create(n, level): # create操作
cur = get_value('cur')
if level not in cur.keys():
cur[level] = []
for i in range(n):
cur[level].append(node(level))
ui = get_value('ui')
ui.update0()
ui.update1()
ui.update2()
ui.update3()
merge(level)
ui.show_image()
# END