Python 我必须从一个只使用for循环的列表中找到一个缺少的数字,一旦看到代码,我想你会理解的

Python 我必须从一个只使用for循环的列表中找到一个缺少的数字,一旦看到代码,我想你会理解的,python,Python,如果你愿意回答,那对我将是一个很大的帮助 它显示名称错误 在函数外部定义listlst 使用如图所示的for/else语句,只在for结束后获得缺少的内容的结果。 如果未找到中断,并且for达到其自然结束,则代码的else部分将运行。 完整代码 lst=[1,2,3,4,5,6,7,9,10] def缺少编号: 对于范围为1,11的n: 如果n不在lst中: 印刷品 打破 其他: 没有遗漏任何东西 失踪人数 如果需要显示丢失的所有数字,有多种方法。 我会选择: lst=[1,2,3,4,5,6,

如果你愿意回答,那对我将是一个很大的帮助

它显示名称错误

在函数外部定义listlst 使用如图所示的for/else语句,只在for结束后获得缺少的内容的结果。 如果未找到中断,并且for达到其自然结束,则代码的else部分将运行。 完整代码

lst=[1,2,3,4,5,6,7,9,10] def缺少编号: 对于范围为1,11的n: 如果n不在lst中: 印刷品 打破 其他: 没有遗漏任何东西 失踪人数 如果需要显示丢失的所有数字,有多种方法。 我会选择:

lst=[1,2,3,4,5,6,7,10] def缺少编号: l=[] 对于范围为1,11的n: 如果n不在lst中: 印刷品 l、 附录 如果不是l:如果列表为空 没有遗漏任何东西 失踪人数 1.向函数传递列表时,必须在该特定函数之外定义该列表

2.如果您的列表大小为10,您的代码将打印10次,即即使在到达列表末尾之前检查每个索引,也不会丢失任何内容

3.只有在检查列表中的所有元素后,才能打印不丢失的内容。对于这些元素,您可以使用一个变量来计算丢失的数字

您可以尝试以下方法:

def missing_num(lst):
  lst=[1,2,3,4,5,6,7,8,9,10]
  for n in range(1,11):
    if n not in lst:
      print(n)
    else:
      print("Nothing is missing")

missing_num(lst)

如果要将lst用作参数,则需要在函数外部指定它。您的算法也是错误的。您将为每个未丢失的数字打印未丢失的内容。除非你能通过整个范围,否则你无法判断是否丢失了任何东西。你也在对范围进行硬编码,而不是使用输入列表的长度。你的lst是否总是假设数字从1开始?它总是会被订购吗?
def missing_num(lst):
  flag=0
  for n in range(1,11):
    if n not in lst:
      print(n," is missing")
      flag+=1                            #flag to count no of missing numbers 
    else:
      continue
  if(flag==0):                          # when flag is 0 print "no missing numbers"
      print("Nothing is missing")

lst=[1,2,3,4,5,6,7,8,9,10]
missing_num(lst)