Условия задачи:

 

Поиск имени. Среди исходного кода главы 7 вы найдете приведенные ниже файлы:
• GirlNames.txt - файл со списком 200 самых популярных имен, данных девочкам, ро­дившимся в США между 2000 и 2009 годами;
• BoyNames.txt - файл со списком 200 самых популярных имен, данных мальчикам, родившимся в США между 2000 и 2009 годами.
Напишите программу, которая считывает содержимое этих двух файлов в два отдельных списка. Пользователь должен иметь возможность ввести имя мальчика, имя девочки или оба имени, и приложение должно вывести сообщения о том, что введенные имена нахо­дятся среди самых популярных имен.

 

Решение задачи:

def main():
    def get_names():
        boys_names = []
        gerls_names = []
        with open('BoyNames.txt', 'r') as in_file_boys:
            for i in in_file_boys:
                boys_names.append(i.rstrip('\n'))
        with open('GirlNames.txt', 'r') as in_file_gerls:
            for i in in_file_gerls:
                gerls_names.append(i.rstrip('\n'))
        return boys_names, gerls_names

    def check_boys(value_list, name):
        if  name in value_list:
            print(f'Имя {name} мальчика есть в списке самых популярных имен')
        else:
            print(f'Имя {name} мальчика отсутствует в списке самых популярных имен')

    def check_gerls(value_list, name):
        if  name in value_list:
            print(f'Имя {name} девочки есть в списке самых популярных имен')
        else:
            print(f'Имя {name} девочки отсутствует в списке самых популярных имен')

    def menu():
        print('Проверка имени в списке самых популярных имен')
        print('Если вы хотите проверить имя мальчика введите 1')
        print('Если вы хотите проверить имя девочки введите 2')
        print('Если вы хотите проверить имя мальчика и имя девочки введите 3')
        user_choice = int(input('Введите цифру согласно вашему выбору:'))
        while user_choice !=1 and user_choice !=2 and user_choice !=3:
            print('Ошибка')
            user_choice = int(input('Введите цифру согласно вашему выбору:'))
        return user_choice

    boys_names_list, gerls_names_list = get_names()
    user_choice = menu()
    if user_choice == 1:
        name = input('Введите имя мальчика:')
        check_boys(boys_names_list, name)
    elif user_choice == 2:
        name = input('Введите имя девочки:')
        check_gerls(gerls_names_list, name)
    else:
        name_1 = input('Введите имя мальчика:')
        name_2 = input('Введите имя девочки:')
        check_boys(boys_names_list, name_1)
        check_gerls(gerls_names_list, name_2)
main()