Нужно доработать код, так чтобы добавлялось в файл, каждое второе дело

Рейтинг: -1Ответов: 3Опубликовано: 17.02.2023
todo_list = []
for i in range(n):
    todo_list.append(input('Введите дело: '))
with open('todo_list.txt', 'w') as f:
    for b in todo_list:
        f.write(b + '\n')

Например если пишешь в программе 6 действий, то в файл добавлялось 2, 4, 6.

Ответы

▲ 1

Как вариант:

todo_list = []
n = int(input())

for i in range(n):
    todo_list.append(input('Введите дело: '))

with open('todo_list.txt', 'w') as f:
    for i, b in enumerate(todo_list):
        if i % 2 != 0:
            f.write(b + '\n')
▲ 0

Пожалуйста)

todo_list = []
n = int(input('Сколько дел вы хотите добавить? '))
for i in range(n):
    if i % 2 == 0:  # запросить ввод дела только для четных значений индекса
        a = input('Введите дело: ')
        todo_list.append(a)
    else:
        todo_list.append('')  # добавить пустую строку для нечетных значений индекса
with open('todo_list.txt', 'w') as f:
    for b in todo_list:
        f.write(b + '\n')

▲ 0

По идее можно через срезы. Только учесть, что нумерация в питоне идёт с нуля. Меняем единственную строку в коде:

for b in todo_list[1::2]:
                  ^^^^^^ добавили срез

Т.е. берём для вывода в файл дела, начиная с 2 (нумереция с 0, поэтому в срезе написано 1), с шагом 2 (последний параметр среза).