当前位置: 首页 > news >正文

Python 编程题 第十一节:选择排序、插入排序、删除字符、目标移动、尾部的0

选择排序

假定第一个为最小的为已排序序列,与后面的比较,找到未排序序列中最小的后,交换位置,获得最小元素,依次往后

lst=[1,14,25,31,21,13,6,8,14,9,7]
def selection_sort(lst):
    for i in range(len(lst)):
        min_index=i
        for j in range(i+1,len(lst)):
            if lst[min_index]>lst[j]:
                min_index=j
        lst[min_index],lst[i]=lst[i],lst[min_index]
    return lst
print(selection_sort(lst))

插入排序

假设第一个元素为已排序列,后面为未排序列,将未排序列中最左边的元素与已排序列从大到小每个元素比较,找到合适位置插入

lst=[1,14,25,31,21,13,6,8,14,9,7]
def insert_sort(lst):
    for i in range(1,len(lst)):
        key=lst[i]#未排序列最左边元素
        j=i-1#已排序列最大元素索引
        while j>=0:
            if lst[j]>key:
                lst[j+1]=lst[j]#向后挪
                lst[j]=key
            j-=1
    return lst
print(insert_sort(lst))

删除字符

str="sajdosdajidsaiojdasjaaascsovsvnosfnei"
sub="abc"
ans=""
for i in str:
    if i in sub:
        ans+=i
print(ans)

目标移动

保持其他序列顺序的同时将目标值移动到最前面

nums=[1,1,2,3,4,5,1,2,4,6,8,7,9]
print(nums)
target=int(input())
def func(nums,target):
    ans=[]
    count=0
    for i in nums:
        if i != target:
            ans.append(i)
            count+=1
    nums2=[target for i in range(len(nums)-count)]
    nums2.extend(ans)
    return nums2
print(func(nums,target))

尾部的0

n的阶乘尾部0的个数,取决于n的阶乘中10的个数,而10=2*5,有5一定会出现2,即取决于5的个数

n=int(input())
def search(n):
    count=0
    for i in range(5,n+1,5):
        while i%5==0:
            i//=5
            count+=1
    return count
print(search(n))

相关文章:

  • AI Agent深度进化论:从多模态感知到自主决策革命的行业落地全景透视
  • 【PCB工艺】电流、电压与电阻的关系 以及 含有电容和电感的电路
  • HTML基础内容3
  • 胜科纳米上市在即:营收连增多年,失效分析、材料分析技术市场领先
  • 极简桌面待办清单软件,❌不会增加工作量
  • 遗传算法+四模型+双向网络!GA-CNN-BiLSTM-Attention系列四模型多变量时序预测
  • kubectl describe pod 命令以及输出详情讲解
  • 1.小乌龟速度控制
  • swagger ui 界面清除登录信息的办法
  • 嵌入式硬件篇---龙芯GPIO控制
  • Python基于深度学习的中文情感分析系统(V2.0,附源码,文档说明)
  • 【DRAM存储器四十七】LPDDR5介绍--LPDDR5的低功耗技术之DVFS
  • 股票:大盘定义及S成长性
  • 网络编程 day04
  • 构建企业核心竞争力深入解析某著名企业卓越运营管理框架(71页PPT)(文末有下载方式)
  • Python个人学习笔记(16):模块(os)
  • BGP路由协议【网络协议详解】--通俗易懂!
  • 1vscode开发工具搭建
  • 基于互联网地图批量获取地名的坐标,并转换坐标系
  • YOLO魔改之频率分割模块(FDM)
  • 印巴战火LIVE|巴基斯坦多地遭印度导弹袭击,巴总理称“有权作出适当回应”
  • 是谁提议特朗普向好莱坞征税?
  • 呼和浩特65户业主被一房两卖,十年诉讼却难胜
  • 外交部:中欧关系50年发展最宝贵经验是相互尊重,求同存异
  • 公安部:“五一”假期全国社会大局稳定,治安秩序良好
  • 深入景区、文化街区及消费一线,多地省委书记调研文旅市场