Поиск по списку кортежей и отображение результатов - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть список кортежей, и я пытаюсь выполнить поиск по списку и отобразить все результаты, содержащие поисковый запрос.Пока у меня есть это:

holidays = []
holidays.append((1001,"Tenerife","Spain",2, 7, 80))
holidays.append((1002,"Cancun","Mexico",4, 14, 120))
holidays.append((1003,"Pairs","France",2, 3, 75))
holidays.append((1004,"Salzburg","Austria",3, 10, 90))
holidays.append((1004,"Madrid","Spain",3, 10, 90))enter code here

и:

search = input("Please enter a destination city or country to display all matching results: ")
    for item in holidays:
        if search in item:
           print ()
           print ("Here are all the results containing the word", search)
           print ()
           print ("Package ID:", item[0],":", item[1], "-", item[2],":",item[3], "person(s)",
           "for",  item[4], "nights costing" , "£" + str(item[5]), "pp/night")
           print ()
           menu = input("Press any key to return to the main menu:")

Но если я буду искать Испанию, будет отображаться только первый результат, содержащий слово Испания, а не все из них.Правильно ли я считаю, что он должен отображать все результаты, относящиеся к поисковому запросу, так как он находится внутри цикла for?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Просто сделайте вот так

print ()
print ("Here are all the results containing the word", search)
print ()
for item in holidays:
    if search in item:
        print ("Package ID:", item[0],":", item[1], "-", item[2],":",item[3], "person(s)",
        "for",  item[4], "nights costing" , "£" + str(item[5]), "pp/night")
        print ()
menu = input("Press any key to return to the main menu:")

И на входе появится подсказка, когда вы закончите поиск в цикле.

0 голосов
/ 25 ноября 2018

Просто поместите два первых отпечатка и второй вход за пределы цикла:

holidays = []
holidays.append((1001, "Tenerife", "Spain", 2, 7, 80))
holidays.append((1002, "Cancun", "Mexico", 4, 14, 120))
holidays.append((1003, "Pairs", "France", 2, 3, 75))
holidays.append((1004, "Salzburg", "Austria", 3, 10, 90))
holidays.append((1004, "Madrid", "Spain", 3, 10, 90))

search = input("Please enter a destination city or country to display all matching results: ")
print()
print("Here are all the results containing the word", search)
for item in holidays:
    if search in item:
        print()
        print("Package ID:", item[0], ":", item[1], "-", item[2], ":", item[3], "person(s)", "for",  item[4], "nights costing", "£" + str(item[5]), "pp/night")
menu = input("Press any key to return to the main menu:")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...