Подборка задач с решениями - 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])])