Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2022, 16:30   #1
Alisa15
Пользователь
 
Регистрация: 28.09.2022
Сообщений: 19
По умолчанию Модификация задачи на питоне

как сделать пункт 7 и 8 на питоне
6. У вас имеется 3 коллекции (например списки, размерами по 10
элементов), в первой содержатся ФИО студентов, написанные
полностью без сокращений во второй номера групп , в третьей
оценки за 1 семестр для каждого студента. Оценки также
содержатся в виде вложенного списка. У каждого студента по
5 оценок по итогам 1 сессии. Вам необходимо написать
инструкцию , которая из трех коллекций составляет список, где
каждый элемент представляет из себя список из трех
элементов: ФИО, Группа, Средний балл каждого студента.
Пример вывода:
[ [ Иванов Иван Иванович, КТ-31-19, 4.5 ] , [ Димитриев
Анатолий Сергеевич, КТ-41-19, 3.9 ] ]
прога задание 6
1
2
3
4
5
6
Код:
a1 = ['Вася Вася Вася', 'Коля Коля Коля', 'Аня Аня Аня']
a2 = ['КТ-31-19', 'КТ-41-19', 'КТ-41-19']
a3 = [[3, 4, 5, 5, 4], [4, 3, 4, 3, 4], [5, 4, 5, 4, 5]]

arr = [[v1, v2, sum(v3) / len(v3)] for v1, v2, v3 in zip(a1, a2, a3)]
print(arr)
7. Модификация предыдущей задачи № 6. Среди оценок могут
быть строковые переменные “Неудовлетворительно” и “Не
явился”.
8. Вывести Фамилии студентов, которые не получили
положительных оценок, а также количество студентов,
получивших “Неудовлетворительно” и “Не явился”.

Последний раз редактировалось BDA; 28.09.2022 в 19:04.
Alisa15 вне форума Ответить с цитированием
Старый 28.09.2022, 19:18   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

По 7 пункту - если считать "Неудовлетворительно" и "Не явился" за оценку 2, то, например:
Код:
arr = [[v1, v2, sum(v if isinstance(v, int) else 2 for v in v3) / len(v3)] for v1, v2, v3 in zip(a1, a2, a3)]
По 8 пункту, например:
Код:
print([v1.split()[0] for v1, v3 in zip(a1, a3) if set(v3).isdisjoint(set([3, 4, 5]))])
print(sum([1 for v1, v3 in zip(a1, a3) if not set(v3).isdisjoint(set(["Неудовлетворительно", "Не явился"]))]))
Хотя последний код посчитает количество студентов, получивших или "Неудовлетворительно" или "Не явился", а не только таких, которые получили и то и другое одновременно.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 28.09.2022 в 19:22.
BDA вне форума Ответить с цитированием
Старый 28.09.2022, 20:00   #3
Alisa15
Пользователь
 
Регистрация: 28.09.2022
Сообщений: 19
По умолчанию

BDA, спасибо!
Alisa15 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модификация программы на с++ Yulia_sko.kz Помощь студентам 0 11.04.2012 17:48
Паскаль модификация задачи на массив Casper098 Помощь студентам 1 04.11.2011 06:59
Модификация инф.из таблиц БД Katushka_88_88 Microsoft Office Access 1 15.02.2010 17:00
Модификация фаила *.db @#dro# Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 30.01.2010 18:15
модификация программы olla-la Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 10.05.2008 14:01