Форум сайта python.su
0
Друзья, Доброго времени суток! Подскажите, пожалуйста, где я туплю. Есть код:
a = ['AAA Здесь был Вася', 'BBB Здесь не было Васи'] while True: b = input("""Введите код опции, часть кода, или часть названия, для поиска опции, для того чтобы узнать кол-во опций в базе - введите 7777, для выхода введите - 9999: """) b1 = b.upper() os.system('cls') if b == "9999": break elif b == "7777": print(len(a)) for s in a: if re.search(b1, s): print(s)
Отредактировано The_Witcher (Окт. 13, 2015 16:22:24)
Офлайн
20
С небольшими изменениями все работает, как вам надо.
(для интереса я добавил еще 3-ю опцию “CCC” в список)
import os import re a = ['AAA Здесь был Вася\n', 'BBB Здесь не было Васи\n', 'CCC Возможно, Вася был здесь... а может, и нет.\n'] while True: b = input("""Введите код опции, часть кода, или часть названия, для поиска опции. Чтобы узнать кол-во опций в базе, введите 7777 Для выхода введите 9999: """) os.system('cls') b1 = b.upper() if b == "9999": break elif b == "7777": print("Опций в базе: %d\n" % len(a)) else: found = False # для хранения результатов поиска в списке опций for s in a: if re.search(b1, s): found = True print(s) break if found == False: print("Ничего не найдено\n")
Отредактировано old_monty (Окт. 13, 2015 20:30:21)
Офлайн
0
old_monty
Супер! Спасибо ОГРОМНОЕ!!! Удалил только break, после print(s), т.к. я забыл сказать, что это я в вопросе указал два элемента списка, а на самом деле их 3089, и в поиске могут отображаться и 100 и 200
Еще раз спасибо, Друг!!!
Отредактировано The_Witcher (Окт. 14, 2015 10:43:31)
Офлайн