Подборка задач с решениями - 7
- Категория: Python
- Дата публикации: 2021-12-09
- Опубликовано на сайте: Stepik
Задача 1:
Вводятся два списка целых чисел одинаковой длины каждый с новой строки. С помощью list comprehension сформировать третий список, состоящий из суммы соответствующих пар чисел введенных списков. Результат вывести на экран в одну строку через пробел.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print(*[(int(i) + int(j)) for i, j in zip(input().split(), input().split())])
Задача 2:
Вводятся целые числа в одну строчку через пробел. Необходимо преобразовать эти данные в список целых чисел. Затем, перебрать этот список в цикле for и просуммировать все нечетные значения. Результат вывести на экран.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print(sum([int(i) for i in input().split() if int(i) % 2 != 0]))
Задача 3:
Вводятся названия городов в одну строчку через пробел. Необходимо преобразовать входные данные в список. Затем, перебрать его циклом for и заменить значения элементов на длину названия соответствующего города. Результат вывести на экран в виде последовательности чисел через пробел в одну строчку.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print(*[len(i) for i in input().split()])
Задача 4:
Вводится натуральное число n. С помощью цикла for найти все делители этого числа. Найденные делители выводить сразу в столбик без формирования списка.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
n = int(input()) print(*[i for i in range(1, n+1) if n % i == 0], sep='\n')
Задача 5:
Вводится натуральное число n. С помощью цикла for определить, является ли оно простым (то есть, делится нацело только на само себя и на 1). Вывести на экран ДА, если n простое и НЕТ - в противном случае.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
n = int(input()) d = [] for i in range(1, n+1): if n % i == 0: d.append(i) print('ДА' if len(d) == 2 else 'НЕТ')
Задача 6:
Вводится список названий городов в одну строчку через пробел. Перебрать все эти названия с помощью цикла for и определить, начинается ли название следующего города на последнюю букву предыдущего города в списке. Если последними встречаются буквы 'ь', 'ъ', 'ы', то берется следующая с конца буква. Вывести на экран ДА, если последовательность удовлетворяет этому правилу и НЕТ - в противном случае.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
g = input().lower().replace('ь', '').replace('ъ', '').replace('ы', '').split() c = [] for i in range(1, len(g)): if g[i][0] == g[i-1][-1]: c.append(g[i]) print('ДА' if len(c) == len(g) - 1 else 'НЕТ')
Задача 7:
Вводится натуральное число n. Вычислить сумму всех натуральных чисел меньше n, которые кратны или 3 или 5. Результат (сумму) вывести на экран. Пример: n = 10, имеем числа: 3, 5, 6, 9. Их сумма равна 23.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
n = int(input()) print(sum([i for i in range(n) if i % 3 == 0 or i % 5 == 0]))
Задача 8:
Вводятся вещественные числа в строку через пробел. Необходимо на их основе сформировать список lst с помощью list comprehension (генератора списков) из модулей введенных чисел (в списке должны храниться именно числа, а не строки). Результат вывести на экран в виде списка командой print(lst).
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print([abs(i) for i in map(float, input().split())])
Задача 9:
Вводится семизначное целое положительное число. С помощью list comprehension сформировать список lst, содержащий цифры этого числа (в списке должны быть записаны числа, а не строки). Результат вывести на экран список командой print(lst).
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print(list(map(int, input())))
Задача 10:
Вводится натуральное число N. С помощью list comprehension сформировать двумерный список размером N x N, состоящий из нулей, а по главной диагонали - единицы. (Главная диагональ - это элементы, идущие по диагонали от верхнего левого угла матрицы до ее нижнего правого угла). Результат вывести в виде таблицы чисел как показано в примере ниже.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
n = int(input()) m = [[0 * i + 1 if i == j else 0 for j in range(n)] for i in range(n)] for line in m: print(*line)
Задача 11:
Вводятся названия городов в строку через пробел. Необходимо сформировать список с помощью list comprehension, содержащий названия длиной более пяти символов. Результат вывести в строчку через пробел.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print(*[i for i in input().split() if len(i) > 5])
Задача 12:
Вводится натуральное число N. Необходимо сгенерировать вложенный список с помощью list comprehension, размером N x N, где первая строка содержала бы все нули, вторая - все единицы, третья - все двойки и так до N-й строки. Результат вывести в виде таблицы чисел как показано в примере ниже.
**Sample Output:** 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
n = int(input()) [print(*[i]*n) for i in range(n)]
Задача 13:
Вводится список вещественных чисел. С помощью list comprehension сформировать список, состоящий из элементов введенного списка, имеющих четные индексы (то есть, выбрать все элементы с четными индексами). Результат вывести на экран в одну строку через пробел.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
print(*[j for i, j in enumerate(list(map(float, input().split()))) if i % 2 == 0])
Задача 14:
В одну строчку через пробел вводятся: имя, отчество и фамилия. Необходимо представить эти данные в виде новой строки в формате: Фамилия И.О.
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
n, p, f = input().split() print(f + ' ' + n[0] + '.' + p[0] + '.')
Задача 15:
Вводится список в формате:
<город 1> <численность населения 1> <город 2> <численность населения 2> ... <город N> <численность населения N>
Необходимо с помощью list comprehension сформировать список lst, содержащий вложенные списки из пар:
<город> <численность населения>
Численность населения - целое число в тыс. человек. Вывести результат на экран в виде списка командой print(lst).
Решение:
Все решения теперь можно найти в сообществе Как войти в IT
st = input().split() print([[i, int(j)] for i, j in zip(st[::2], st[1::2])])