首页 > 编程语言 >[学习编程]pythontip习题心得

[学习编程]pythontip习题心得

时间:2023-10-20 09:11:10浏览次数:42  
标签:pythontip 数字 missing 编程 列表 lst enumerate 习题 缺失

题目 最小缺失数

编写一个Python程序,找出列表中最小的缺失整数(理想情况下为连续数字)。 输入的列表保证只有一个缺失数字,而且列表中的数字都是正整数,列表中的数字不会重复,且最小数字为起始数字。 比如是[2,3,4]的话,缺失值是5,而不是1,而[2,4]缺失数字为3

# 用你的代码替换 ___

# 定义一个函数,找出列表中使序列连续的最小缺失数
def find_smallest_missing(lst):

    # 首先对列表进行排序
    lst.sort()

    # 使用enumerate遍历列表,这样我们可以得到索引和元素
    for i, element in enumerate(lst):

        # 如果当前元素加1等于下一个元素,继续循环,因为序列是连续的
        if i+1< len(lst) and element+1==lst[i+1]:
            continue

        # 但如果不是,
        # 返回当前元素加1后的值
        else:
            return element+1


# 调用函数
numbers = eval(input())
missing_number = find_smallest_missing(numbers)
print(missing_number)

 

心得:

1、enumerate可以同时获得元素和序号。

2、要避免下标越界。

 

标签:pythontip,数字,missing,编程,列表,lst,enumerate,习题,缺失
From: https://www.cnblogs.com/viphhs/p/17776237.html

相关文章

  • ai提效编程插件BoitT
    ai提效编程插件BoitT一、Boit安装1、安装在idea中依照路径Preferences->Plugins,在搜索框中输入“Bito”,然后点击“Search”按钮,然后安装2、Boit注册安装成功,选中一段代码,右键,出现随便选择一个功能就会进入注册界面填完邮箱后收到验证码再填写现在还需要写名字,但是......
  • oop 实验1类和对象基础编程
    #include<iostream>#include<string>#include<vector>#include<array>//通用函数(此处是模板函数)用于输出容器中的元素,支持范围for(范围for循环,是一种用于遍历容器、数组和其他序列容器的现代C++迭代循环结构。它提供了一种更简洁和易读的方法来遍历容器的元素,而无需手动......
  • 最新教材高中数学课后习题答案
    前言相关电子版数学教材,链接:https://www.cnblogs.com/wanghai0666/p/17301713.html,示例页面提取部分页面作个示例,共112页,包含五本书,高一使用的是必修第一册,必修第二册,高二使用的选择性必修第一册,选择性必修第二册,选择性必修第三册。相关下载相关文件分享在曲奇云盘里,链接:......
  • 实验1 类和对象_基础编程1
    1.实验任务1task.1程序代码:#include<iostream>#include<string>#include<vector>#include<array>template<typenameT>voidoutput1(constT&obj){for(autoi:obj)std::cout<<i<<",";......
  • Lab4-事务与并发编程实现
              实验三存储过程与触发器实验目的:学习SQL语言进行编程的基本方法与技术,能够编写存储过程、触发器解决数据库需要处理的复杂问题。实验内容:1、 设计一个存储过程或者自定义函数,练习存储过程的设计方法。2、 设计触发器,理解触发器的工作原理与设计方法......
  • 使用单例模式进行多线程编程
    title:aliases:tags:-工程技术-cpp/并发编程category:-方法stars:url:creation-time:2023-10-1914:32modification-time:2023-10-1915:27:06[[单例模式]]简而言之就是程序中的某个类只能实例化一个对象。因为对象只有一个,在不同线程中实例化的时候,实......
  • Linux shell编程学习笔记8:使用字符串
    一、前言字符串是大多数编程语言中最常用最有用的数据类型,这在Linuxshell编程中也不例外。本文讨论了LinuxShell编程中的字符串的三种定义方式的差别,以及字符串拼接、取字符串长度、提取字符串、查找子字符串等常用字符串操作,,以及反引号在echo和expr命令联合使用时的作用。二......
  • Linux shell编程学习笔记4:修改命令行提示符格式(内容和颜色)
    一、命令行提示符格式内容因shell类型而异Linux终端命令行提示符内容格式则因shell的类型而异,例如CoreLinux默认的shell是sh,其命令行提示符为黑底白字,内容为:tc@box:/$其中,tc为当前用户名,box为主机名,/为当前目录路径,$表示当前用户类型是普通用户 。 二、环境变量PS1存储了命令行提......
  • 习题专题- 运用递归 输出第n个 斐波那契数
    斐波那契数 1123581321...............#include<stdio.h>intxy(intn){ if(n<=2) { return1; } else { returnxy(n-1)+xy(n-2); }}intmain(){ intn=0; intret=0;printf("请输入要查找第几个:") scanf("%d",&......
  • 实验2 C语言分支与循环基础应用编程
    实验任务1 #include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5#defineN1374#defineN2465intmain(){intnumber;inti;srand(time(0));for(i=0;i<N;++i){number=rand()%(N2-N......