С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 17.12.2017
Сообщений: 60

Списки. Организовать выбор работников по возрасту и образованию

10.01.2018, 22:04. Показов 2170. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В кадровой службе предприятия содержатся сведения о работниках предприятия: табельный номер, ИНН, фамилия, дата рождения (в виде дд.мм.гггг), образование. Данные содержатся в виде списка. Данные о каждом работнике представлены в виде подсписка в общем списке. Организовать выбор работников по возрасту и образованию. Отобранные данные должны быть представлены в виде списков.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2018, 22:04
Ответы с готовыми решениями:

Организовать выбор работников по возрасту и образованию. Списки
В кадровой службе предприятия содержатся сведения о работниках предприятия: табельный номер, ИНН, фамилия, дата рождения (в виде...

Подсчитать количество работников по возрасту
Пожалуста, кто знает, подскажите! Есть запрос в SQL: SELECT Year (birthday) As god_1, DateDiff('yyyy', , @god)-1 As kol_let, sex FROM...

Записи: Вывести списки студентов, упорядоченные по возрасту
Описать и вывести массив, содержащий 10 записей следующей структуры: фамилия, возраст, № студенческого билета, средняя оценка за последнюю...

5
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.01.2018, 01:08
Что уже сделали? Что пробовали? Что не получилось?

Добавлено через 26 секунд
Примеры входных данных где?

Добавлено через 13 секунд
Используйте функцию sorted.
0
 Аватар для Lodhel
5 / 5 / 3
Регистрация: 13.01.2018
Сообщений: 45
14.01.2018, 18:47
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
personal = [
    [56, 123456789012, 'Fedorov', '20.01.1991', 'VPO'],
    [57, 123456789012, 'Borodach', '30.11.1978', 'For_Class'],
    [58, 123456789012, 'Hill', '10.07.1960', 'Not_O'],
    [59, 123456789012, 'Kapone', '20.01.1970', 'SPO'],
    [60, 123456789012, 'Durov', '27.05.1985', 'VPO']
]
 
 
def get_education_personal():
    education = [education[4] for education in personal]    
#get_education_personal()
 
 
 
def get_age_personal():
    age = [age[3] for age in personal]
    return age
#get_age_personal()
 
 
 
#def get_sort_age(age):
Написал две функции, на нахождение нужной информации в списках. Теперь думаю как их использовать для сортировки
1
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
14.01.2018, 19:06
Выбор по образованию, примерно, так

Python
1
2
3
4
5
def get_personal_by_education(edu):
    education = [ x for x in personal if x[4] == edu]
    return education
 
print(get_personal_by_education('VPO'))
1
 Аватар для Lodhel
5 / 5 / 3
Регистрация: 13.01.2018
Сообщений: 45
14.01.2018, 21:50
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
personal = [
    [56, 123456789012, 'Fedorov', '20.01.1991', 'VPO'],
    [57, 123456789012, 'Borodach', '30.11.1978', 'For_Class'],
    [58, 123456789012, 'Hill', '10.07.1960', 'Not_O'],
    [59, 123456789012, 'Kapone', '20.01.1970', 'SPO'],
    [60, 123456789012, 'Durov', '27.05.1985', 'VPO']
]
 
def get_personal_by_education(edu):
    education = [ name[2] for name in personal if name[4] == edu]
    return education 
print(get_personal_by_education('VPO'))
# sorted for education
 
def get_age_personal():
    age = [age[3] for age in personal]
    return age
 
def get_sort_to_age():
    age = [ age.split('.') for age in get_age_personal()]
    year = [int(i[2]) for i in age]
    name = [name[2] for name in personal]
    result = {}
    for n, i in enumerate(sorted(year)):
        result[name[n]] = i
    return result
print (get_sort_to_age())
#sorted to age
Добавлено через 12 минут
Отобранные данные должны быть представлены в виде списков.
Python
1
2
3
4
5
6
7
8
def get_sort_to_age():
    age = [ age.split('.') for age in get_age_personal()]
    year = [int(i[2]) for i in age]
    name = [name[2] for name in personal]
    result = []
    for n, i in enumerate(sorted(year)):
        result.append([name[n], i])
    return result
1
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
14.01.2018, 23:02
Лучший ответ Сообщение было отмечено Leonid174 как решение

Решение

Цитата Сообщение от ТабуретY Посмотреть сообщение
get_personal

Не по теме:

get_personal - это перейти на личности, то что вы хотели сказать - это get_staff или get_personnel :)



Добавлено через 38 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from datetime import datetime
 
personal = [
    [56, 123456789012, 'Fedorov', '20.01.1991', 'VPO'],
    [57, 123456789012, 'Borodach', '30.11.1978', 'For_Class'],
    [58, 123456789012, 'Hill', '10.07.1960', 'Not_O'],
    [59, 123456789012, 'Kapone', '20.01.1978', 'SPO'],
    [60, 123456789012, 'Durov', '27.05.1985', 'VPO']
]
 
t = datetime.now().date()
 
def calc_age(d):
    b = datetime.strptime(d, '%d.%m.%Y').date()
    return t.year-b.year-((t.month, t.day) < (b.month, b.day))
 
# выбор по возрасту
age = 39
print('age = {} --> '.format(age), [x for x in personal if calc_age(x[3]) == age])
 
# выбор по образованию
edu = 'VPO'
print('edu = {} --> '.format(edu), [x for x in personal if x[4] == edu])
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2018, 23:02
Помогаю со студенческими работами здесь

Получить списки прогульщиков и работников, не выполнивших план
данные берутся из файла Задана следующая информация: фамилия и инициалы рабочего, выработка в процентах и количество прогулов за месяц....

В двусвязном списке организовать поиск работников со стажем больше введённого
Задача: Информация о работниках некоторой фирмы хранится в виде двусвязного списка из 10 структур типа Rabotnik, каждый элемент которого...

Получить списки работников, заданного подразделения, стаж которых не меньше 10,20,25 лет
записать содержит данные о работнике, фамилия и инициалы, табельный номер, номер подразделения, должность, стаж работы, величина зарплаты....

Составить программу, позволяющую организовать в виде записей данные о зарплате работников
Составить программу, позволяющую организовать в виде записей данные о зар-плате работников. Каждая запись должна содержать фамилию...

Как организовать рассчет Заработной платы работников и вывести в итог VBA
Имееются таблички разбросанные по листам, каждый лист это число месяца, в каждой табличке есть список работников ФИО и их заработная плата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru