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

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

Задача 1:

Словарь emails содержит информацию об электронных адресах пользователей, сгруппированных по домену. Дополните приведенный код, чтобы он вывел все электронные адреса в алфавитном порядке, каждый на отдельной строке, в формате username@domain.

Решение:

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

Задача 2:

Напишите программу, переводящую цепь ДНК в цепь РНК. Как известно из курса биологии ДНК и РНК – последовательности нуклеотидов.

Четыре нуклеотида в ДНК:

  • аденин (A);
  • цитозин (C);
  • гуанин (G);
  • тимин (T).

Четыре нуклеотида в РНК:

  • аденин (A);
  • цитозин (C);
  • гуанин (G);
  • урацил (U).

Цепь РНК строится на основе цепи ДНК последовательным присоединением комплементарных нуклеотидов:

Решение:

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

Задача 3:

Дана строка текста на русском языке, состоящая из слов и символов пробела. Словом считается последовательность букв, слова разделены одним пробелом или несколькими.

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

Формат входных данных

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

Формат выходных данных

Для каждого слова исходного текста программа выводит одно целое число — номер вхождения этого слова в текст. Числа необходимо выводятся на одной строке, через пробел.

Решение:

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

Задача 4:

В игре Scrabble каждая буква приносит определенное количество баллов. Общая стоимость слова – сумма баллов его букв. Чем реже буква встречается, тем больше она ценится:

| Баллы | Буква | |:------:|:------------------------------------------------:| | 1 | A, E, I, L, N, O, R, S, T, U | | 2 | D, G | | 3 | B, C, M, P | | 4 | F, H, V, W, Y | | 5 | K | | 8 | J, X | | 10 | Q, Z |

Напишите программу подсчета итоговой стоимости введенного слова.

Решение:

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

Задача 5:

Строка запроса (query string) — часть URL адреса, содержащая ключи и их значения. Она начинается после вопросительного знака и идет до конца адреса. Если параметров в строке запроса несколько, то они отделяются символом амперсанда &.

Напишите функцию build_query_string(), которая принимает на вход словарь с параметрами и возвращает строку запроса, сформированную из этих параметров.

Примечание 1. В итоговой строке параметры должны быть отсортированы в лексикографическом порядке ключей словаря.

Решение 1:

Решение 2:

Задача 6:

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

Решение:

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

Задача 7:

В файловую систему сервера проник опасный вирус и сломал контроль прав доступа к файлам. Говорят, вирус написал один из студентов курса Python для начинающих.

Для каждого файла известно, с какими действиями можно к нему обращаться:

  • запись W (write, доступ на запись в файл);
  • чтение R (read, доступ на чтение из файла);
  • запуск X (execute, запуск на исполнение файла).

Напишите программу для восстановления контроля прав доступа к файлам. Ваша программа для каждого запроса должна будет возвращать OK если выполняется допустимая операция, и Access denied, если операция недопустима.

Решение:

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

Задача 8:

Напишите программу для подсчета количества единиц каждого вида товара из приобретенных каждым покупателем интернет-магазина.

Формат входных данных

На вход программе подается число n — количество строк в базе данных о продажах интернет-магазина. Далее следует nnn строк с записями вида покупатель товар количество, где покупатель — имя покупателя (строка без пробелов), товар — название товара (строка без пробелов), количество — количество приобретенных единиц товара (натуральное число).

Формат выходных данных

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

Решение:

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