У меня есть вопрос о домашнем задании и не знаю, как я должен это делать.Python ищет набор данных
Во-первых, мне был предоставлен набор данных со списком имен сотрудников, адресов, электронных писем и т. Д. С примерно 50 сотрудниками.
Вас попросят написать заявку для предоставления информации о сотрудниках. Ваша программа должна предлагать пользователю ввести критерии поиска. Все сотрудники, которые соответствуют критериям поиска, должны быть выведены на экран в следующем формате:
Position Designation Room and Extension Name and Email Address
(столбцы разделенной табуляции)Matching информации .......... ..
Вам придется внести изменения в набор данных для обработки, и вы можете сохранить его в отдельном файле, хотя это необязательно. Ваша программа должна удовлетворять определенным ограничениям:
- Вы должны сравнить каждый столбец в наборе данных с критериями поиска.
- Сравнение не должно быть чувствительным к регистру.
- Все выходные данные должны быть в начальных столицах, кроме адреса электронной почты.
- Если совпадение найдено, строка результатов должна быть напечатана, а столбцы должны совпадать.
- Если нет совпадения, следует распечатать сообщение без заголовка.
Вы должны сохранить (1) свою программу и (2) абзац, чтобы объяснить КАК вы выполнили обработку набора данных.
Вы должны также запустить эти тестовые случаи на вашем приложении:
- Искать «Бренд»
- Искать все канцелярский персонал.
- Поиск «» BredNa
- Найти положение доктора Карра
- Какой офис Нил находится в?
Итак, во-первых, как я должен читать этот набор данных? Должен ли я читать его в виде текстового файла или создавать кортеж, словарь? и т.д.
staff = [['prof.liam maguire','head of school','academic','MS127','75605','[email protected]'],
['prof. martin McGinnity','director of intelligent systems research centre','academic','MS112','75616','[email protected]'],
['dr laxmidhar Behera','reader','academic','MS107','75276','[email protected]'],
['dr girijesh Prasad','professor','academic','MS137','75645','[email protected]'],
['dr kevin Curran','senior lecturer','academic','MS130','75565','[email protected]'],
['mr aiden McCaughey','Senior Lecturer','academic','MG126','75131','[email protected]'],
['dr tom Lunney','postgraduate courses co-ordinator (Senior Lecturer)','academic','MG121D','75388','[email protected]'],
['dr heather Sayers','undergraduate courses','co-ordinator (Senior Lecturer)','academic','MG121C','75148','[email protected]'],
['dr liam Mc Daid','senior lecturer','academic','MS016','75452','[email protected]'],
['mr derek Woods','senior lecturer','academic','MS134','75380','[email protected]'],
['dr ammar Belatreche','lecturer','academic','MS104','75185','[email protected]'],
['mr michael Callaghan','lecturer','academic','MS132','75771','[email protected]'],
['dr sonya Coleman','lecturer','academic','MS133','75030','[email protected]'],
['dr joan Condell','lecturer','academic','MS131','75024','[email protected]'],
['dr damien Coyle','lecturer','academic','MS103','75170','[email protected]'],
['mr martin Doherty','lecturer','academic','MG121A','75552','[email protected]'],
['dr jim Harkin','lecturer','academic','MS108','75128','[email protected]'],
['dr yuhua Li','lecturer','academic','MS106','75528','[email protected]'],
['dr sandra Moffett','lecturer','academic','MS015','75381','[email protected]'],
['mrs mairin Nicell','lecturer','academic','MG127','75007','[email protected]'],
['mrs maeve Paris','lecturer','academic','MG040','75212','[email protected]'],
['dr jose Santos','lecturer','academic','MG035','75034','[email protected]'],
['dr nH. Siddique','lecturer','academic','MG037','75340','[email protected]'],
['dr zumao Weng','lecturer','academic','MG050','75358','[email protected]'],
['dr shane Wilson','lecturer','academic','MG038','75527','[email protected]'],
['dr caitriona carr','computing and Technical Support','MG121B','75003','[email protected]'],
['mr neil McDonnell','technical Services Supervisor','computing and Technical Support','MS030/MF143','75360','[email protected]'],
['mr paddy McDonough','technical Services Engineer','computing and Technical Support','MS034','75322','[email protected]'],
['mr bernard McGarry','network Assistant','computing and Technical Support','MG132','75644','[email protected]'],
['mr stephen Friel','secretary','clerical staff','MG048','75148','[email protected]'],
['ms emma McLaughlin','secretary','clerical staff','MG048','75153','[email protected]'],
['mrs. brenda Plummer','secretary','clerical staff','MS126','75605','[email protected]'],
['miss paula Sheerin','secretary','clerical staff','MS111','75616','[email protected]'],
['mrs michelle Stewart','secretary','clerical staff','MG048','75382','[email protected]']]
matches = []
criterion = input ("please enter search criterion: ")
criterion = criterion.lower()
for person in staff:
for characteristic in person:
if characteristic in person:
if criterion in characteristic:
matches.append(person)
break
if len(matches) == 0:
print("No Match")
else:
print("POSITION |||DESIGNATION ||| EXT & ROOM NO||| NAME & EMAIL")
for i in matches:
print (i[1].title(),': ',i[2].title(),':',i[3].upper()+ i[4],':',i[0].title(), i[5].title())`
Это то, что ив придумал до сих пор, и это, кажется, работает, есть ли какие-либо улучшения, которые вы сделали бы?
В каком формате находится набор данных? Можете ли вы предоставить образец записи? Кроме того, что вы пробовали до сих пор? – Taymon