Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/64: Рейтинг темы: голосов - 64, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 18.04.2022
Сообщений: 3

Напишите программу, которая читает данные из файла в массив структур (записей) и выводит на экран (или в файл)

05.02.2023, 16:51. Показов 14427. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. В файле **marks.csv** записаны сведения о результатах экзаменов в 9-х классах района. Всего в списке 1000 записей, каждая из которых содержит

· фамилию

· имя

· отметки по четырем предметам (алгебре, русскому языку, физике и истории).

Все элементы в каждой строке разделены запятыми.

Напишите программу, которая читает данные из
файла в массив структур (записей) и выводит на экран (или в файл):

1. средний балл в районе по каждому предмету;
2. максимальную сумму баллов, полученных учащимися;
3. список учащихся (фамилии и имена), набравших эту максимальную сумму, в алфавитном порядке;
4. количество учащихся, получивших хотя бы одну отметку «2».

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
file = open("marks.txt")
a = []
AlM = 0
RuM = 0 
PhM = 0 
HiM = 0
IsM = 0
maxb = 0
count = 0
for line in file:
    a.append(line.split(","))
class Marks:
    N = []
    SN = []
    Al = []
    Ru = []
    Ph = []
    Hi = []
 
M = Marks
for i in range(0, len(a)):
               M.N.append(a[i][0])
               M.SN.append(a[i][1])
               M.Al.append(a[i][2])
               M.Ru.append(a[i][3])
               M.Ph.append(a[i][4])
               M.Hi.append(a[i][5])
 
for v in M.Al:
    AlM += int(v)
print("Средний бал по Алгебре:", AlM/1000)
for v in M.Ru:
    RuM += int(v)
print("Средний бал по Русскому языку:", RuM/1000)
for v in M.Ph:
    PhM += int(v)
print("Средний бал по Физике:", PhM/1000)
for v in M.Hi:
    HiM += int(v)
print("Средний бал по Истории:", HiM/1000)
for c in range (0, len(a)-1):
    st = int(M.Al[c]) + int(M.Ru[c]) + int(M.Ph[c]) + int(M.Hi[c])
    sd = int(M.Al[c+1]) + int(M.Ru[c+1]) + int(M.Ph[c+1]) + int(M.Hi[c+1])
    if sd > st:
        MAX = sd 
    else:
        MAX = st
print("Максимальный бал :", maxb)
print("Люди получившие максимальный бал:")
for l in range (0, len(a)):
    st = int(M.Al[l]) + int(M.Ruk[l]) + int(M.Ph[l]) + int(M.Hi[l])
    if st == 17:
        print(M.Name[l], M.Surname[l])
for l in range (0, len(a)):
    if int(M.Al[l]) == 2 or int(M.Ru[l]) == 2 or int(M.Ph[l]) == 2 or int(M.Hi[l]) == 2:
        count += 1 
print(count)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2023, 16:51
Ответы с готовыми решениями:

Напишите программу,которая вводит с клавиатуры и выводит на экран данные о каждом принятом или уволенном специалисте
Временные рабочие группы создаются и упраздняются в следующем порядке "Последний принятый на работу будет уволен первым". Напишите...

Написать программу, которая читает строки из файла в массив строк, и выводит их на экран только названия, состоящие из нескольких слов
помогит плиз срочно надо а я вообще не знаю как их решать заранее спасибо 1)В файле хранятся названия фирм. Каждая строка запись об...

Написать программу которая читает массив из файла и выводит в другой файл все числа палинромы из данного массива
Написать программу которая читает массив из файла и выводит в другой файл все числа палинромы из данного массива

1
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
06.02.2023, 09:08
Python
1
print("Hello, world!")
Добавлено через 4 минуты
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import csv
 
def read_data(file_name):
    with open(file_name, "r") as file:
        reader = csv.reader(file)
        header = next(reader)
        data = [row for row in reader]
    return data
 
def calculate_average_subject_marks(data):
    subject_total = [0, 0, 0, 0]
    for row in data:
        for i, mark in enumerate(row[2:]):
            subject_total[i] += int(mark)
    return [subject_total[i] / len(data) for i in range(4)]
 
def find_max_sum(data):
    max_sum = 0
    max_sum_names = []
    for row in data:
        marks_sum = sum([int(mark) for mark in row[2:]])
        if marks_sum > max_sum:
            max_sum = marks_sum
            max_sum_names = [(row[0], row[1])]
        elif marks_sum == max_sum:
            max_sum_names.append((row[0], row[1]))
    return max_sum, sorted(max_sum_names)
 
def count_students_with_two(data):
    count = 0
    for row in data:
        if 2 in [int(mark) for mark in row[2:]]:
            count += 1
    return count
 
def main():
    data = read_data("marks.csv")
    average_subject_marks = calculate_average_subject_marks(data)
    print("Average marks per subject:")
    print("Algebra:", average_subject_marks[0])
    print("Russian language:", average_subject_marks[1])
    print("Physics:", average_subject_marks[2])
    print("History:", average_subject_marks[3])
    max_sum, max_sum_names = find_max_sum(data)
    print("\nMax sum of marks:", max_sum)
    print("Students with max sum:")
    for name in max_sum_names:
        print(name[0], name[1])
    count = count_students_with_two(data)
    print("\nNumber of students with at least one 2:", count)
 
if __name__ == "__main__":
    main()
Добавлено через 4 минуты
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
file = open("marks.txt")
a = []
AlM = 0
RuM = 0
PhM = 0
HiM = 0
IsM = 0
maxb = 0
count = 0
for line in file:
    a.append(line.split(","))
 
 
    class Marks:
        N = []
        SN = []
        Al = []
        Ru = []
        Ph = []
        Hi = []
 
M = Marks
for i in range(0, len(a)):
    M.N.append(a[i][0])
    M.SN.append(a[i][1])
    M.Al.append(a[i][2])
    M.Ru.append(a[i][3])
    M.Ph.append(a[i][4])
    M.Hi.append(a[i][5])
 
for v in M.Al:
    AlM += int(v)
    print("Средний бал по Алгебре:", AlM / 1000)
for v in M.Ru:
    RuM += int(v)
    print("Средний бал по Русскому языку:", RuM / 1000)
for v in M.Ph:
    PhM += int(v)
    print("Средний бал по Физике:", PhM / 1000)
for v in M.Hi:
    HiM += int(v)
    print("Средний бал по Истории:", HiM / 1000)
for c in range(0, len(a) - 1):
    st = int(M.Al[c]) + int(M.Ru[c]) + int(M.Ph[c]) + int(M.Hi[c])
    sd = int(M.Al[c + 1]) + int(M.Ru[c + 1]) + int(M.Ph[c + 1]) + int(M.Hi[c + 1])
if sd > st:
    MAX = sd
else:
    MAX = st
    print("Максимальный бал :", maxb)
    print("Люди получившие максимальный бал:")
for l in range(0, len(a)):
    st = int(M.Al[l]) + int(M.Ruk[l]) + int(M.Ph[l]) + int(M.Hi[l])
if st == 17:
    print(M.Name[l], M.Surname[l])
for l in range(0, len(a)):
    if int(M.Al[l]) == 2 or int(M.Ru[l]) == 2 or int(M.Ph[l]) == 2 or int(M.Hi[l]) == 2:
        count += 1
        print(count)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2023, 09:08
Помогаю со студенческими работами здесь

Составить программу, которая считывает данные из файла и выводит их на экран и записывает их в другой файл
Составить программу, которая считывает данные из файла и выводит их на экран и записывает их в другой файл.

Напишите программу, которая выводит на экран содержимое файла и выводит сумму чисел файла
Напишите программу, которая выводит на экран содержимое файла D:\numbers.txt. и выводит сумму чисел файла. Вынужден снова просить...

Напишите программу, которая читает с клавиатуры числовое значение x и выводит на экран значение функции f(x)
Добрый день! имеется следующая задача: Напишите программу, которая читает с клавиатуры числовое значение x и выводит на экран...

Напишите программу, которая вводит с клавиатуры данные о n лицах (n<=50) и выводит на экран
Нужно вывести фамилии и имена тех кто родился в день z месяца. Первый раз тут, если что не так сори, хочу по аналогии сделать другие. ...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru