python第七天练习

目录

爬楼梯问题

汉诺塔

不死兔子等等

递归遍历文件列表(太多个不执行)

二分查找

​编辑冒泡排序

​编辑插入排序

​编辑选择排序


爬楼梯问题

def fun(n:int):
    if n==1 or n==2:
        return n
    return fun(n-2) + fun(n-1)

print(fun(4))

python第七天练习_第1张图片

汉诺塔

def fun(n:int,A:list[int],B:list[int],C:list[int]):
    if n==0:return
    fun(n-1,A,C,B)
    print(f"盘子从A:{A}移动到C:{C}")
    fun(n-1,B,A,C)
    C.extend(A[0:n - 1])

fun(3,[2,1,0],[],[])

python第七天练习_第2张图片

不死兔子等等

def fun(n:int):
    if n==1 or n==2:
        return 1
    return fun(n-2)+fun(n-1)

print(fun(20))


递归遍历文件列表(太多个不执行)

def fun(str_path:str):
    if len(os.listdir(str_path))==0:
        return
    for i in os.listdir(str_path):
        if os.path.isdir(str_path + "/" + i):
            print(str_path, end=":")
            print(os.listdir(str_path + "/" + i))
            fun(str_path + "/" + i)
path=input("请输出你要递归的目录路径: ")
fun(path)

二分查找

my_list=[1,2,3,4,5,6,7,8,9]
def fun(target:int,my_list:list[int],i:int,j:int):
    mid=(i+j)//2
    if target==my_list[mid]:
        print(mid)
    elif target

python第七天练习_第3张图片​编辑
冒泡排序

my_list=[2,5,4,8,5,3,1,8,6,2]
i=0
while imy_list[j+1]:
            temp=my_list[j]
            my_list[j]=my_list[j+1]
            my_list[j+1]=temp
        j+=1
    i+=1
print(my_list)

python第七天练习_第4张图片​编辑
插入排序

my_list=[2,5,4,8,5,3,1,8]
i=1
while i0:
        if my_list[j]

python第七天练习_第5张图片​编辑
选择排序

my_list=[2,5,4,8,5,3,1,8]
i=0
while i

python第七天练习_第6张图片

你可能感兴趣的:(数据结构,python,开发语言)