[学习编程]pythontip习题心得

发布时间 2023-10-20 09:07:17作者: viphhs

题目 最小缺失数

编写一个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、要避免下标越界。