Вывод некоторых строк в текстовый файл на основе пользовательского ввода - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть текстовый файл, который содержит список всех баскетбольных игр, сыгранных в сезоне 2017-2018, дату проведения игры и итоговый счет.Эти три фрагмента данных расположены в одну строку, и каждая игра содержит эти три фрагмента данных.Однако я хочу вывести только те строки, которые содержат две команды, введенные пользователем.Например, если «Голден Стэйт Уорриорз» и «Лос-Анджелес Лейкерс» сыграли 4 раза, я хочу вывести только эти 4 строки во всем этом списке.Я не уверен, как заставить файл txt выводить строки, соответствующие двум командам, которые вводит пользователь.

Я знаю, что должен быть цикл, который читает файл txt и сопоставляет все строкикоторые содержат обе команды nba, а затем выводят эти строки.

Мой текстовый файл называется games.txt

Таким образом, образец games.txt

Tue Oct 17 2017,8:01p,Boston Celtics,99,Cleveland Cavaliers,102,
Tue Oct 17 2017,10:30p,Houston Rockets,122,Golden State Warriors,121,
Wed Oct 18 2017,7:30p,Milwaukee Bucks,108,Boston Celtics,100,

Относительножелаемый вывод, я просто хочу распечатать всю строку, которая соответствует 2 командам.Например, если пользователь набрал «Милуоки Бакс» и «Бостон Селтикс», выведите всю третью строку.

1 Ответ

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

Попробуйте эту функцию:

def f(t1,t2):
    with open('games.txt','r') as f:
       return '\n'.join([i for i in f if t1 in i and t2 in i])

Просто откройте и выведите.

Для вызова (например, две команды из Милуоки Бакс и Бостон Селтикс):

print(f('Milwaukee Bucks','Boston Celtics'))

Выход:

Wed Oct 18 2017,7:30p,Milwaukee Bucks,108,Boston Celtics,100,
...