首页 > 解决方案 > 我必须仅使用 for 循环从列表中查找丢失的数字,一旦我认为您会理解,请查看代码

问题描述

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)

#如果你会回答那么这对我来说将是一个很大的帮助。

它显示名称错误。

标签: python

解决方案


  1. 在函数之外定义你的 list( lst)
  2. 使用此处for/else所示的语句来获得仅在 for ends 之后缺少的结果。如果没有找到 a 并且到达它的自然结束,则代码 的一部分运行。
    elsebreakfor

完整代码

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

missing_num(lst)

如果您需要显示所有丢失的数字,有多种方法。
我会去:

lst=[1,2,3,4,5,6,7,10]
def missing_num(lst):
    l = []
    for n in range(1,11): 
        if n not in lst:
            print(n)
            l.append(n)
    if not l: # if list is empty
        print("Nothing is missing")
missing_num(lst)

推荐阅读