【问题标题】:Breaking out of For Loop and If Statement跳出 For 循环和 If 语句
【发布时间】:2021-08-07 08:35:14
【问题描述】:

我的清单:

listOfMovies=[the Slow and Confused 9, Somebody, Gorilla vs. King, The Blundering 3: Boss Made Me Do It]

我正在尝试输入,如果列表匹配,该函数将打印出该对象。

如果不匹配,该功能会打印出来并询问我是否要重新搜索或返回主菜单。

No results found
1. Search again
2. Return to Main Menu

目前我可以打印匹配项,但是,我也可以打印出没有结果。

如果输入没有匹配,我想打印No results

我想打印出匹配项并跳过打印未找到的结果。

我的代码是:

def DisplayMovie( movie, i  ):
     print ( "Movie Name: " + str(movie[i].getName()) + ",", "Category:" , movie[i].getCategory())
     return


def SearchBasedOnName(searchString, listOfMovies):
     for i in range ( len(listOfMovies) ):    
          if (searchString.lower()  in  listOfMovies[i].getName().lower()):
                            DisplayMovie( listOfMovies, i)
               
     print("\nNo results found")
     print("1. Search again")
     print("2. Return to Main Menu")
     option3input = input("")
     if option3input == "1":
             searchString = input("\nPlease enter your search input: \n")
     elif option3input == "2":
             printMenu()

searchString = input("\nPlease enter your search input:")
SearchBasedOnName(searchString, listOfMovies)

我得到的输出:

Please enter your search input: king

Movie Name: Gorilla vs. King

No results found
1. Search again
2. Return to Main Menu

【问题讨论】:

  • 尝试在DisplayMovie( listOfMovies, i)之后添加return

标签: python for-loop if-statement


【解决方案1】:

“in”关键字将成为您的救星。给定一个字符串列表和一些比较标准,例如:-

mylist = ['abc', 'def']

if 'xyz' in mylist:
  print('Found')
else:
  print('Not found')

您应该能够根据您的用例进行调整

【讨论】:

    【解决方案2】:

    return 放在DisplayMovie 下的if 范围内,这样您就可以在它完成预期的操作后立即退出该函数。

    def SearchBasedOnName(searchString, listOfMovies):
         for i in range ( len(listOfMovies) ):    
              if (searchString.lower()  in  listOfMovies[i].getName().lower()):
                  DisplayMovie( listOfMovies, i)
                  return
    

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 2017-06-16
      • 2015-08-16
      • 2019-05-02
      • 1970-01-01
      相关资源
      最近更新 更多