13. Какой формат данных сохранен в файле, который содержит информацию о результатах экзамена? Как разделены фамилия

13. Какой формат данных сохранен в файле, который содержит информацию о результатах экзамена? Как разделены фамилия, имя и количество в каждой строке? Требуется вывести фамилии и имена учеников, которые набрали более 14 баллов.

*14. В задаче 13 необходимо добавить нумерацию к списку, чтобы каждая строка имела формат: номер) Фамилия Имя. Например: 1) Иванов Вася 2) Петров Петя.

15. В задаче 14 требуется сократить имя ученика до одной буквы и поместить его перед фамилией. Каждая строка списка должна иметь формат: номер) Инициал фамилии. Например: 1) В. Иванов 2) П. Петров.

*17. В задаче 15 необходимо отсортировать список по убыванию полученных баллов и записать результат в выходной файл.
Rys

Rys

17. В задаче 15 требуется добавить в список только фамилии учеников, которые начинаются на букву "С". Каждая строка списка должна иметь формат: номер) Фамилия. Например: 1) Иванов 2) Смирнов.

Очень хорошо, давайте решим задачи по порядку:

Задача 13: Формат данных, сохраненный в файле, зависит от того, какой формат был использован при записи данных. Один из популярных форматов - CSV (Comma-Separated Values), где каждая строка файла содержит значения, разделенные запятой. В данном случае, файл будет содержать информацию о результатах экзамена, поэтому вероятно, каждая строка будет иметь следующую структуру: "Фамилия, Имя, Количество баллов". Фамилия, имя и количество баллов разделены запятыми.

Теперь давайте выведем фамилии и имена учеников, которые набрали более 14 баллов. Предположим, что у нас есть файл "results.csv", содержащий данные о результатах экзамена. Мы можем считать этот файл и выполнить необходимые действия с помощью программирования. Вот пример кода на языке Python:

python
import csv

def read_results(filename):
with open(filename, "r") as csvfile:
reader = csv.reader(csvfile)
next(reader) # пропускаем заголовок
for row in reader:
surname, name, score = row
if int(score) > 14:
print(f"{surname} {name}")

read_results("results.csv")


Задача 14: Теперь мы хотим добавить нумерацию к каждой строке списка. Мы можем это сделать следующим образом:

python
import csv

def read_results(filename):
with open(filename, "r") as csvfile:
reader = csv.reader(csvfile)
next(reader) # пропускаем заголовок
for i, row in enumerate(reader, start=1):
surname, name, score = row
if int(score) > 14:
print(f"{i}) {surname} {name}")

read_results("results.csv")


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

python
import csv

def read_results(filename):
with open(filename, "r") as csvfile:
reader = csv.reader(csvfile)
next(reader) # пропускаем заголовок
for i, row in enumerate(reader, start=1):
surname, name, score = row
if int(score) > 14:
initial = name[0]
print(f"{i}) {initial}. {surname}")

read_results("results.csv")


Задача 17: Теперь мы хотим добавить в список только фамилии учеников, которые начинаются на букву "С". Мы можем это сделать следующим образом:

python
import csv

def read_results(filename):
with open(filename, "r") as csvfile:
reader = csv.reader(csvfile)
next(reader) # пропускаем заголовок
for i, row in enumerate(reader, start=1):
surname, name, score = row
if int(score) > 14 and surname.startswith("С"):
print(f"{i}) {surname}")

read_results("results.csv")


Надеюсь, эти решения помогут вам выполнить задачи 13, 14, 15 и 17. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать.
Знаешь ответ?
Задать вопрос
Привет!
hello