Подборка задач с решениями - 30

  • Категория: Python
  • Дата публикации: 2022-01-24
  • Опубликовано на сайте: Stepik

Задача 1:

На вход программе подается строка текста, содержащая различные натуральные числа. Из данной строки формируется список чисел. Напишите программу, которая меняет местами минимальный и максимальный элемент этого списка.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

l = [int(i) for i in input().split()]
x = l.index(min(l))
y = l.index(max(l))
l[x], l[y] = max(l), min(l)
print(*l)

Задача 2:

На вход программе подается строка, содержащая английский текст. Напишите программу, которая подсчитывает общее количество артиклей: 'a', 'an', 'the'.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

c = list(map(str, input().lower().split()))
a, an, the = c.count('a'), c.count('an'), c.count('the')
print('Общее количество артиклей:', a + an + the)

Задача 3:

Немалоизвестный в пустошах Мохаве Курьер забрел в Хидден-Вэли – секретный бункер Братства Стали, и любезно соглашается помочь им в решении их проблем. Одной из такой проблем являлся странный компьютерный вирус, который проявлялся в виде появления комментариев к программам на терминалах Братства Стали. Известно, что программисты Братства никогда не оставляют комментарии к коду, и пишут программы на Python, поэтому удаление всех этих комментариев никак не навредит им. Помогите писцу Ибсену удалить все комментарии из программы.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

n = input()
for _ in range(int(n[1:])):
    s = input()
    if '#' in s:
        s = s[:s.find('#')]
    print(s.rstrip())

Задача 4:

На вход программе подается строка текста, содержащая целые числа. Из данной строки формируется список чисел. Напишите программу, которая сортирует и выводит данный список сначала по возрастанию, а затем по убыванию.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

s = sorted(int(i) for i in input().split())
print(*s)
print(*s[::-1])

Задача 5:

На вход программе подается натуральное число n. Напишите программу, использующую списочное выражение, которая создает список, содержащий квадраты чисел от 1 до n, а затем выводит его элементы построчно, то есть каждый на отдельной строке.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

n = int(input())
spisok = [i**2 for i in range(1, n+1)]
for i in spisok:
    print(i)

Задача 6:

На вход программе подается строка текста, содержащая слова. Напишите программу, которая выводит слова введенной строки в столбик.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

print (*input().split(),sep='\n')

Задача 7:

На вход программе подается строка текста. Напишите программу, использующую списочное выражение, которая выводит все цифровые символы данной строки.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

print(*(i for i in input() if i.isdigit()), sep="")

Задача 8:

На вход программе подается строка текста, содержащая целые числа. Напишите программу, использующую списочное выражение, которая выведет квадраты четных чисел, которые не оканчиваются на цифру 4.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

print(*[i**2 for i in list(map(int, input().split())) if i%2 == 0 and (i**2)%10 != 4], end='')

Задача 9:

На вход программе подается четное число n ≥ 2. Напишите программу, которая выводит список четных чисел [2, 4, 6, ..., n].

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

print([i for i in range(2, int(input())+1, 2)])

Задача 10:

На вход программе подаются две строки текста, содержащие целые числа. Из данных строк формируются списки чисел L и M. Напишите программу, которая создает третий список, элементами которого являются суммы соответствующих элементов списков L и M. Далее программа должна вывести каждый элемент полученного списка на одной строке через 1 пробел.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

print(*[int(i) + int(j) for i, j in zip(input().split(), input().split())])

Задача 11:

На вход программе подается строка текста, содержащая натуральные числа. Напишите программу, которая вставляет между каждым числом знак +, а затем вычисляет сумму полученных чисел.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

n = list(map(str, input().split()))
m = '+'.join(n)
n = [int(i) for i in n]
print(m, '=', sum(n), sep='')

Задача 12:

На вход программе подается строка текста. Напишите программу, которая определяет является ли введенная строка корректным телефонным номером. Строка текста является корректным телефонным номером если она имеет формат:

  • abc-def-hijk или
  • 7-abc-def-hijk,

где a, b, c, d, e, f, h, i, j, k – цифры от 0 до 9.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

n = input().split("-")
c = [len(i) for i in n] 
if c == [3, 3, 4] and ''.join(n).isdigit(): 
    print("YES")
elif c == [1, 3, 3, 4] and ''.join(n).isdigit() and n[0] == '7': 
    print("YES")
else:
    print("NO")

Задача 13:

На вход программе подается строка текста. Напишите программу, использующую списочное выражение, которая находит длину самого длинного слова.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

n = input().split()
m = max(n, key=len)
print(len(m))

Задача 14:

На вход программе подается строка текста. Напишите программу, использующую списочное выражение, которая преобразует каждое слово введенного текста в "молодежный жаргон" по следующему правилу:

  • первая буква каждого слова удаляется и ставится в конец слова;
  • затем в конец слова добавляется слог "ки".

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

n = input().split()
new = [i[1:] + i[0] + 'ки' for i in n]
print(*new)