题目 最小缺失数
编写一个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、要避免下标越界。