Помогите. Только начинаю учить Python

tapo4ik

Новичок
Пользователь
Май 27, 2020
1
0
1
Дан файл input.txt, в котором на разных строках записаны либо целые числа, либо текстовые строки. Необходимо создать список из двух элементов, первый получается из суммы всех чисел файла, второй – сцепленные через пробел текстовые строки из файла. Для определения типа используйте функцию type(). Полученный результат выведите на экран
 

Vlad_SD

Активный пользователь
Пользователь
Апр 7, 2020
91
45
18
Python:
with open(' input.txt', mode='r') as f:
    reader = f.read().splitlines()
    lines, digits = [], []

    for row in reader:
        if row.isdigit():
            digits.append(int(row))
        else:
            lines.append(row)

_list = [sum(digits), ' '.join(lines)]
print(_list)

вся проблема здесь в том, что при чтении из файла мы по умолчанию получаем все значения с type = str, соотвественно нельзя обратиться и определить числа сразу, но можно отсортировать их через .isdigit() на два списка и потом обработать каждый по отдельности

на первый раз пришло такое решение, если удалось решить иначе, пришлите своё решение
 
Последнее редактирование:

Форум IT Специалистов