Типы данных

741 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Кодоны — это триплеты нуклеотидов (три буквы), которые определяют аминокислоты в процессе трансляции (синтеза белка).

  1. Старт-кодон — кодон, с которого начинается считывание белковой последовательности. В ДНК это всегда ATG.
  2. Стоп-кодоны — кодоны, которые сигнализируют окончание считывания. В ДНК это:
    • TAA
    • TAG
    • TGA
 

Надо написать программу, которая:

  1. Находит все стартовые (ATG) и стоп-кодоны (TAA, TAG, TGA) в последовательности ДНК.
  2. Возвращает их позиции (индексы).
Формат входных данных
Строка содержит последовательность ДНК

Формат выходных данных
В первой строке вывести позиции старт-кодонов в порядке возрастания, во второй строке вывести позиции стоп-кодонов в порядке возрастания.
В биоинформатике часто требуется искать и подсчитывать конкретные последовательности нуклеотидов в ДНК. В данной задаче необходимо подсчитать количество повторений триплета "ATG" в заданной последовательности ДНК. Триплет "ATG" является важным мотивом, связанным с началом кодирования белков. Напишите функцию, которая принимает строку, представляющую последовательность ДНК, и возвращает количество вхождений триплета "ATG" в этой последовательности.

Формат входных данных
В единственной строке дана последовательность ДНК
Формат выходных данных
Необходимо подсчитать количество раз, когда встречается триплет ATG.

ДНК представляет собой две взаимодополняющие цепи нуклеотидов. Каждому нуклеотиду одной цепи соответствует комплементарный нуклеотид в другой цепи:

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

Формат входных данных
Строка содержит последовательность ДНК

Формат выходных данных
Выведите комплементарную цепь ДНК
Последовательность называется палиндромной, если она читается одинаково в прямом и обратном направлении. В биоинформатике проверка палиндромов может быть полезна, например, для анализа определенных участков ДНК, таких как сайты рестрикции, которые часто имеют палиндромную структуру.

Формат входных данных
В единственной строке дана последовательность ДНК
Формат выходных данных
Выведите "Yes" если последовательность является палиндромной и "No" если не является. Если последовательность не является ДНК выведите "Error".
Последовательность называется палиндромной, если она читается одинаково в прямом и обратном направлении. В биоинформатике проверка палиндромов может быть полезна, например, для анализа определенных участков ДНК, таких как сайты рестрикции, которые часто имеют палиндромную структуру.

Формат входных данных
В единственной строке дана последовательность ДНК
Формат выходных данных
Выведите "Yes" если последовательность является палиндромной и "No" если не является
✓ 64✗ 65600лёгкаяВойти и решать
РНК отличается от ДНК тем, что вместо тимина (T) она содержит урацил (U). Для преобразования ДНК в РНК нужно заменить каждый символ T в последовательности ДНК на U.

Формат входных данных
Строка содержит последовательность ДНК

Формат выходных данных
Вывести последовательность РНК
 
✓ 79✗ 67600лёгкаяВойти и решать
ДНК-последовательности состоят из четырех типов нуклеотидов: A (аденин), T (тимин), G (гуанин) и C (цитозин). В этой задаче необходимо подсчитать количество каждого из этих нуклеотидов в заданной строке (последовательности ДНК).

Формат выходных данных
В строке содержится последовательность ДНК.

Формат выходных данных
Выведите количество каждого нуклеотида
Алиса только что завершила подсчет уникальных слов в файле. Вдруг экран её компьютера ярко засветился, и на нем появилась новая информация:

"Система обновлена! Новый файл доступен: Число.txt."
P.S. Число в названии файла равно числу, полученному в ответе на предыдущюю задачу. Например, если ответ был 123, то доступен файл 123.txt

Алиса быстро открыла новый файл и начала его изучать. Внутри она обнаружила множество слов, но тут на экране появилась подсказка...

"В файле слов, как в море, не счесть,
Найди, какое из них чаще здесь есть!"


Алиса быстро принялась за дело! И ты не отставай... Найди ответ

P.S. Ваша программа должны вывести самое частое слово и через пробел сколько раз оно встречается. Вам может помочь в этом структура данных "словарь". Вспомните как с ней работать тут
После того как Алиса узнала количество слов в загадочном файле, она заметила, что это число совпадает с названием другого текстового файла — ЧИСЛО.txt.
P.S. Число в названии файла равно числу, полученному в ответе на предыдущюю задачу. Например, если ответ был 123, то доступен файл 123.txt

"Как интересно!" — подумала она. "Кажется, это не случайность!"
Алиса открыла новый файл и увидела множество слов, но среди них были повторяющиеся.

"Чтобы разгадать шифр, мне нужно узнать, сколько уникальных слов в этом файле," — решила она.

Сколько уникальных слов насчитала Алиса?


P.S. Имя файла равно числу, полученному в результате решения предыдущей загадки...
Напишите программу, которая:
1) в первой строке запрашивает ввод строки и сохраняет ее в переменной s;
2) во второй строке запрашивает ввод строки и сохраняет ее в переменную subs;
3) выводит на экран наименьший индекс, с которого начинается подстрока subs в строке s; если строка s не содержит подстроку subs, то программа должна вывести -1.

Вы работаете в службе доставки. Вам нужно обработать адреса клиентов, чтобы привести их к единому формату. Ваша задача - заменить все вхождения слова "улица" на сокращение "ул." в адресах.

Например, если дан адрес "Ленина улица, 15", он должен быть преобразован в "Ленина ул., 15".

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

✓ 187✗ 177300лёгкаяВойти и решать
Напишите программу, которая из заданной строки s выводит символ с индексом i

Формат входных данных
В первой строке вводится строка s. Во второй строке - целое число - индекс символа исходной строки

Формат выходных данных
Выведите символ с индексом i строки s.
✓ 176✗ 196400лёгкаяВойти и решать
Напишите программу, которая принимает на вход строку и выводит сначала данную строку в нижнем регистре, а затем в верхнем регистре.

Формат входных данных
Программа получает на вход одну строку. 

Формат выходных данных
Выведите две строки:
  1. в первой строке необходимо вывести исходную строку в нижнем регистре
  2. во второй строке - в верхнем регистре
✓ 193✗ 440300лёгкаяВойти и решать
Напишите программу, которая выполняет следующие действия

1) Запрашивает у пользователя строку и сохраняет ее в переменную s.
2) С помощью функции len() выводит на экран количество символов в s.
✓ 234✗ 86100лёгкаяВойти и решать

У вас есть забавная игрушка - повторюшка. Когда вы нажимаете на неё, она повторяет всё, что вы говорите, но только если ваше сообщение не длиннее 10 символов. Если сообщение длиннее, повторюшка отказывается его повторять и просит вас ввести что-нибудь покороче.

Напишите программу, которая имитирует работу этой повторюшки.

Формат входных данных
Программа получает на вход одну строку, содержащую слово или фразу.

Формат выходных данных
Если длина введенной строки не превышает 10 символов, программа должна вывести эту строку 10 раз слитно в одной строке. Если длина введенной строки больше 10 символов, программа должна вывести сообщение: "Слишком длинно, попробуйте что-нибудь покороче."

У вас есть забавная игрушка - повторюшка. Когда вы нажимаете на неё, она повторяет 10 раз всё, что вы говорите.
Напишите программу, которая будет имитировать работу этой повторюшки.

Формат входных данных
Программа получает на вход одну строку, содержащее одно слово

Формат выходных данных
Программа должна вывести на экран это слово 10 раз слово, полученное из входных данных. Все слова должны выводиться слитно. 

Друзья играют в интересную игру со словами, суть которой заключается в разбиении слов на пары.

У друзей есть \(n\) слов одинаковой длины. Они хотят выбрать такое наибольшее число \(k\), чтобы можно было разбить слова на пары так, чтобы в каждой паре у слов совпадало хотя бы \(k\) первых букв.

Помогите друзьям найти искомое максимальное значение \(k\).

Формат входных данных
В первой строке входных данных находится целое число \(n\) — количество слов (\(1 \leqslant n \leqslant 2\cdot 10^5\), \(n\) — четное).

В следующих \(n\) строках заданы слова, которые есть у друзей. Гарантируется, что все строки имеют одинаковую длину и суммарная длина строк не превышает \(2 \cdot 10^6\).

Формат выходных данных
В единственной строке выведите число \(k\) — искомое максимальное значение.

Алексей, возможно, самый умный и при этом самый ленивый человек в мире. Сегодня он участвует в олимпиаде.

На олимпиаде участникам даны \(n\) задач, за правильное решение \(i\)-й задачи, участник получит \(a_i\) баллов, за неправильное решение баллов не дают. Дипломы призера дадут тем участникам, которые наберут хотя бы половину от суммарного числа баллов. Например, если на олимпиаде дано три задачи, стоимости которых в баллах равны \(1\), \(3\) и \(4\), соответственно, для получения диплома призера достаточно набрать четыре балла.

Алексей пришел на олимпиаду с целью получить диплом призера. При этом Алексей очень умен и может правильно решить любую задачу на олимпиаде. Но в то же время Алексей очень ленив и хочет решить как можно меньше задач.

Алексей настолько ленив, что даже задачи, которые он будет решать, выбирает лениво. Он хочет выбрать некоторую задачу с номером \(k\), а затем решать задачи с номерами \(k, k+1, k+2 \ldots\) до тех пор, пока ему не будет хватать баллов на диплом призера. Максимум, на что готов Алексей, это пропустить одну задачу и не решать ее, чтобы решить в итоге еще меньше задач.

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

Формат входных данных
В первой строке дано одно натуральное число \(n\) — количество задач на олимпиаде (\(1 \le n \le 10^5\)).

Во второй строке заданы \(n\) чисел \(a_1, a_2, \dots a_n\) — стоимости каждой задачи в баллах (\(1 \le a_i \le 10^9\)).

Формат выходных данных
Выведите одно число — минимальное количество задач, которые может решить Алексей, придерживаясь своей стратегии, чтобы получить диплом призера.


Примечание

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

Во втором тесте достаточно решить только вторую задачу, набрав три балла.

Напишите программу, которая выполняет следующее:

  1. Запросите у пользователя название его любимого фильма.
  2. Запросите у пользователя, сколько раз он его смотрел.
  3. Выведите сообщение, которое будет содержать название фильма и количество просмотров, используя f-строки.

Ваш вывод должен быть в формате:
Вы любите фильм "[название фильма]" и смотрели его [количество] раз(а)

Поделиться
Класснуть