2048核心算法
1.
零元素移动至末尾
思路:从后向前依次判断,若为零,则删除,末尾追加0
list_merge = [2,0,2,0]
def zere_to_end():
for i in range (len(list_merge)-1,-1,-1):
if list_merge[i] == 0:
del list_merge[i]
list_merge.append(0)
zere_to_end()
print(list_merge)
#2.定义函数,将相邻且相同元素合并
def merge():
“”"
合并
将零元素后移
思路:,将相邻且相同元素合并
"""
zere_to_end()
for i in range(len(list_merge)-1):
list_merge[i] == list_merge[i+1]
list_merge[i] += list_merge[i + 1]
del list_merge[i+1]
list_merge.append(0)
merge()
print(list_merge)
运行结果:
[2, 2, 0, 0]
[4, 0, 0, 0]
#3.定义函数,将二维列表中的元素向左移动
def move_le