Программист Иван очень общительный человек, поэтому в рабочее время он любит общаться с друзьями в социальных сетях. Недавно программист Иван узнал, что его начальники логируют время, проведенное сотрудниками в социальных сетях, и в тот же момент понял, что его карьера висит на волоске. Он выяснил у своего друга и коллеги, как можно получить доступ к лог-файлам и в каком формате логируются данные. Оказалось, что данные логируются в виде двумерного массива размерностью 30x 12, где каждый элемент массива содержит информацию о том, сколько времени сотрудник провел в социальных сетях в i-й рабочий день j-го месяца, в часах. Ради удобства начальство Ивана считает, что каждый месяц состоит ровно из 30 рабочих дней.
Программист Иван знает, что начальство поймет, что что-то не так, если Иван просто обнулит все свои логи. Иван внимательно с ними ознакомился и узнал, что наибольшее время в социальных сетях он проводил по четным числам нечетных месяцев, и по нечетным числам в четные месяцы. Помогите Ивану занизить логи, уменьшив ровно в 2 раза элементы массива, имеющие один четный и один нечетный индекс.
Вам дан csv-файл с логами, его нужно считать и при помощи операций с массивами (мы рекомендуем Вам использовать присваивание в срез) изменить его так, как сказано в условии задачи. А затем сохранить результат в новый csv-файл.
формат ввода - В файле input.csv содержится массив размерностью
30 строк на 12 столбцов с информацией о проведенных часах в социальных сетях.
формат вывода - модифицированный файл в output.csv.
Python
Помогите, пожалуйста, с задачей на питоне!
Здравствуйте, Екатерина.
Вот программа Вам в виде файла
А вот её текст:
Вот программа Вам в виде файла
А вот её текст:
# Подключаю к программе модуль для работы с csv-файлами
import csv
# Открываю файл input.csv на чтение
csvfile = open('input.csv', 'r', newline='')
# Инициализирую чтение файла
reader = csv.reader(csvfile)
# Создаю матрицу, куда буду считывать файл
matrix = list()
# В цикле по всем строкам файла заполняю матрицу
for row in reader:
matrix.append(row)
# Закрываю файл, открытый для чтения
csvfile.close()
# Запускаю цикл по всем строкам файла
for y in range(30):
# Запускаю цикл по всем строкам
for x in range(12):
# Если координаты в матрице мне подходят, то уменьшаю вдвое значение в ячейке
if (y + 1) % 2 == 0 and (x + 1) % 2 == 1 or (y + 1) % 2 == 1 and (x + 1) % 2 == 0:
matrix[y][x] = int(matrix[y][x]) // 2
# Открываю файл output.csv для записи
csvfile = open('output.csv', 'w', newline='')
# Инициирую запись в файл
writer = csv.writer(csvfile)
# В цикле записываю каждую строку матрицы в файл
for y in range(30):
writer.writerow(matrix[y])
# Закрываю файл, открытый для записи
csvfile.close()
И файл input.csv: 2,7,14,21,5,4,3,2,8,0,90,4
3,8,15,22,6,5,4,3,9,1,91,5
4,9,16,23,7,6,5,4,10,2,92,6
5,10,17,24,8,7,6,5,11,3,93,7
6,11,18,25,9,8,7,6,12,4,94,8
7,12,19,26,10,9,8,7,13,5,95,9
8,13,20,27,11,10,9,8,14,6,96,10
9,14,21,28,12,11,10,9,15,7,97,11
10,15,22,29,13,12,11,10,16,8,98,12
11,16,23,30,14,13,12,11,17,9,99,13
12,17,24,31,15,14,13,12,18,10,100,14
13,18,25,32,16,15,14,13,19,11,101,15
14,19,26,33,17,16,15,14,20,12,102,16
15,20,27,34,18,17,16,15,21,13,103,17
16,21,28,35,19,18,17,16,22,14,104,18
17,22,29,36,20,19,18,17,23,15,105,19
18,23,30,37,21,20,19,18,24,16,106,20
19,24,31,38,22,21,20,19,25,17,107,21
20,25,32,39,23,22,21,20,26,18,108,22
21,26,33,40,24,23,22,21,27,19,109,23
22,27,34,41,25,24,23,22,28,20,110,24
23,28,35,42,26,25,24,23,29,21,111,25
24,29,36,43,27,26,25,24,30,22,112,26
25,30,37,44,28,27,26,25,31,23,113,27
26,31,38,45,29,28,27,26,32,24,114,28
27,32,39,46,30,29,28,27,33,25,115,29
28,33,40,47,31,30,29,28,34,26,116,30
29,34,41,48,32,31,30,29,35,27,117,31
30,35,42,49,33,32,31,30,36,28,118,32
31,36,43,50,34,33,32,31,37,29,119,33
Держи, разбирайся в коде:

Дмитрий Верзаков
Только в голову пришло. Вроде условие можно сократить...
Похожие вопросы
- Помогите пожалуйста решить задачи на питоне:
- Помогите пожалуйста решить задачу на питоне...
- Помогите пожалуйста с задачей по питону
- Помогите пожалуйста с задачей на Питоне
- Помогите с 3 задачами на питон 3!!! пожалуйста!!
- Помогите мне пожалуйста решить задачу на питоне!
- Помогите пожалуйста с задачей Питон
- Помогите, пожалуйста, с задачей по информатике в питоне.
- Помогите, пожалуйста, решить задачу Python
- Товарищи. помогите пожалуйста с задачей по информатике