wimage.png
    image.png
    一、冒泡排序和选择排序

    1. # 冒泡排序
    2. li = [34, 32, 67, 23, 12, 7, 4, 1] # 原始排序
    3. len1 = len(li) # 获取列表长度
    4. for i in range(0, len1):
    5. for j in range(1, len1 - i):
    6. if li[j - 1] > li[j]: # 比较前后两元素哪个大
    7. temp = li[j - 1] # 前一个大的放到临时暂存元素里
    8. li[j] = temp # 把临时暂存元素里的大元素放到后面
    9. print(li)
    1. # 选择排序
    2. li = [34, 32, 67, 23, 12, 7, 4, 1] #原始排序
    3. for i in range(len(li)): #遍历所有元素的索引
    4. max = i #定义已经完成排序的序列的最后一个数的索引
    5. for j in range(i + 1, len(li)): #遍历没有排序过的所有元素的索引
    6. if li[j] > li[max]: #在未排序的序列里找最大的数
    7. max = j #保存未排序最大数的索引
    8. li[i], li[max] = li[max], li[i] #将找到的最大的数放到排好的序列末尾
    9. print(li) #打印已排序好的序列

    二、
    1.九九乘法表

    1. for i in range(1,10):
    2. for j in range(1,i):
    3. print(f"{j}*{i}={i*j}",end=' ')
    4. print()

    2.完全数

    1. num = int(input('please input a perfect number:'))
    2. sum1 = 0
    3. factor1 = []
    4. for i in range(1, num):
    5. if num % i == 0:
    6. sum1 += i
    7. factor1.append(i)
    8. factor1.append(num)
    9. print(f"all factors of {num} are {factor1}")
    10. if num == sum1:
    11. print(f'{num} is a perfect number')
    12. else:
    13. print(f'{num} is not a perfect number')

    3.三位数

    1. n = 0
    2. li = []
    3. for i in range(1,5):
    4. for j in range(1,5):
    5. for k in range(1,5):
    6. if i != j and j !=k and i != k:
    7. li.append(100*i+10*j+k)
    8. n+=1
    9. print(li,n)
    1. #推导式
    2. li = [100 * i + 10 * j + k for i in range(1, 5) for j in range(1, 5) for k in range(1, 5) if i != j and j != k and i != k]
    3. print(li, len(li))
    1. # 疏影横斜水清浅
    2. li = []
    3. book = []
    4. def dfs(step):
    5. if (step == 4):
    6. for i in range(3):
    7. print(li[i], end='')
    8. print()
    9. return
    10. for i in range(4):
    11. if book[i] == 0:
    12. li[step] = i + 1
    13. book[i] = 1
    14. dfs(step + 1)
    15. book[i] = 0
    16. return
    17. if __name__ == '__main__':
    18. for i in range(4):
    19. li.append(0)
    20. book.append(0)
    21. dfs(0)