Информатика

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

Каток открыт для детей от 7 до 14 лет включительно. Выбери правильное условие, чтобы проверить, может ли ребенок с возрастом age пойти на каток.

1. age > 7 and age < 14
2. age >= 7 and age <= 14
3. age >= 7 or age <= 14
4. age == 7 and age == 14
bool-03#67795

Пингвин-программист Пайтончик радуется, когда задача решена правильно И он получил либо 5 звезд, либо похвалу от учителя.

Какое условие проверит, что Пайтончик радуется?

1. task_solved and (stars == 5 or teacher_praise)
2. task_solved and stars == 5 or teacher_praise
3. task_solved or stars == 5 and teacher_praise
bool-02#67794
Робот-песик Баркод весело виляет хвостом, когда его батарея заряжена больше чем на 50%, он находится в режиме "игра" ИЛИ получил команду "гулять.

Какое условие проверит, что Баркод виляет хвостом?

1. battery > 50 and mode == "play" or command == "walk"
2. battery > 50 and (mode == "play" or command == "walk")
3. battery > 50 or mode == "play" and command == "walk"
bool-01#67793
Волшебный кристалл светится только когда загаданное число (x) положительное, четное и делится на 3. 

Выберите верное логическое выражение:
  1. x > 0 and x % 2 == 0 and x % 3 == 0
  2. x > 0 or x % 2 == 0 or x % 3 == 0
  3. x > 0 and x % 2 == 0 or x % 3 == 0
В строке содержатся теги в угловых скобках. Найдите все отдельные теги.

Формат входных данных
На вход подается одна строка. Строка содержит печатаемые ASCII-символы. В строке обязательно есть хотя бы одна подпоследовательность начинающаяся с < и заканчивающаяся >

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

Пример
Входные данные
<br><hr><img/>

Выходные данные
<br> <hr> <img/>
В строке содержатся теги в угловых скобках. Найдите самую длинную последовательность, начинающуюся с < и заканчивающуюся >.

Формат входных данных
На вход подается одна строка. Строка содержит печатаемые ASCII-символы. В строке обязательно есть хотя бы одна подпоследовательность начинающаяся с < и заканчивающаяся >.

Формат выходных данных
Выведите ответ на задачу.


Примеры
Входные данные
text <tag>content</tag> text

Выходные данные
<tag>content</tag>
✓ 3✗ 1900средняяВойти и решать
Валидация email адреса важная и не простая задача в реальной практике. Попробуйте написать одну из частей  проверки email адреса. 

В заданном тексте, состоящем не более чем из 100 строк, найдите все email адреса. Выведите эти адреса в столбик в порядке их встречаемости в тексте. 

Формат email адреса (немного упростим, для облегчения реализации):

  • Локальная часть (до @): буквы (английские большие и маленькие), цифры, точки, дефисы, подчеркивания

  • Доменная часть (после @): буквы, цифры, точки, дефисы. Доменная часть должна содержать как минимум одну точку. Недопускается две и более точек подряд. Существование доменной части не проверяется.

  • Обязательно содержит символ @

  • Обычно заканчивается доменом верхнего уровня (например, .com, .ru, .org и др), состоящим от 2-х до 4-х символов (существование домена верхнего уровня не проверяется). 

Примечание:

  • Регистр не имеет значения

  • Адреса могут быть в любом месте текста

  • Нужно найти все вхождения, даже повторяющиеся

  • Валидность адреса проверяется только по формату (может не существовать реально).



Формат входных данных
В первой строке записано натуральное число N - количество строке текста. Далее, идут сами строки текста.

Формат выходных данных
Выведите все искомые email адреса, каждый адрес в отдельной строке.
Три z#67722
Необходимо найти все строки, в которых содержится три буквы z подряд. 

Формат входных данных
Программа получает в первой строке натуральное число N - количество строк (N <= 100). Далее идет N алфавитно-цифровых строк (длина каждой строки не более 100 символов). 

Формат выходных данных
Выведите на экран все искомые строки. Строки необходимо вывести в том порядке, в котором они встречаются во входных данных.

В классе \(N\) учеников. Учитель опрашивает сначала всех учащихся с нечётными номерами (1, 3, 5, ...), затем — всех с чётными номерами (2, 4, 6, ...). Вася, имеющий номер \(K\) по журналу, хочет узнать, какой по порядку вопрос достанется ему. Напишите программу, вычисляющую номер вопроса по данным \(N\) и \(K\).

Вводятся два целых числа \(N\) и \(K\), каждое в отдельной строке (\(1 \le N \le 2 \cdot 10^9\), \(1 \le K \le N\)).

Выведите одно целое число — номер вопроса, который достанется Васе.

Решения, правильно работающие при \(N \le 1000\), будут оцениваться в 50 баллов.

 

В примерах из условия \(N = 10\), и ученики вызываются в следующем порядке: \(1\), \(3\), \(5\), \(7\), \(9\), \(2\), \(4\), \(6\), \(8\), \(10\). Если \(K=7\), то Вася выйдет 4-м по счёту, если \(K=6\), то Вася выйдет 8-м.

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

Формат выходных данных
Выведите N строк. В каждой строке необхоидимо вывести главсные буквы (aeiou), которые встречаются в соответствующей строке входных данных. Буквы должны быть выведены через пробел в том же порядке, что в исходной строке. Если в строке таких букв нет, то для такой строки необходимо вывести слово None.

 

В григорианском календаре года нумерются числами 1, 2, 3 и т.д., это года “нашей эры”. Предшествующие года называются “первый год до нашей эры”, “второй год до нашей эры” и т.д.

Будем обозначать года нашей эры положительными числами, а года до нашей эры — отрицательными. При этом года с номером 0 не существует, то есть нумерация лет выглядит так: ..., −3, −2, −1, 1, 2, 3, ...

В летописях написано, что какое-то событие произошло в году номер A, а другое событие произошло спустя n лет после первого события (или за n лет до первого события). Определите, в каком году произошло второе событие.

Входные данные

Первая строка входных данных содержит число A — год, в котором произошло первое событие. Вторая строка содержит число n. Если n > 0, то второе событие произошло через n лет после первого события, а если n < 0, то второе событие произошло за |n| лет до первого события. Оба числа могут быть как положительными, так и отрицательными.

Выходные данные

Программа должна вывести одно целое число — номер года, в который произошло второе событие.

Пояснения к примерам
Пояснение к первому примеру.
Первое событие произошло в 5 году, второе событие произошло за 3 года до первого, это был 2 год.
Пояснение ко второму примеру.
Первое событие произошло в 3 году до н.э., второе событие произошло через 1 год, это 2 год до н.э. Ответ: 2.
Пояснение к третьему примеру.
Первое событие произошло в 3 году до н.э., второе событие произошло через 4 года. Отсчитываем 4 года: 2 год до н.э., 1 год до н.э., 1 год н.э., 2 год н.э. Ответ: 2.

re.fullmatch(pattern, string) - проверяет совпадение ВСЕЙ строки с шаблоном.

Возвращает: объект Match или None

Использование: match = re.fullmatch(r'\d+', text)
 


 Проверить, что строка является корректным ID товара:

  • Формат: [Категория][Номер][Версия]
  • Категория: 1 буква (A-Z)
  • Номер: 1-3 цифры
  • Версия: необязательная, начинается с '-v' и 1-2 цифры
Программа на вход получает строку и должна вывести True, если ID товара корректен и False в противном случае.

re.match(pattern, string) - проверяет совпадение ТОЛЬКО в начале строки.

  • Возвращает: объект Match или None
  • Использование: match = re.match(r'\d+', text)

 

Задача: Проверить, что строка начинается с корректного формата лог-записи:

  • Дата: ГГГГ-ММ-ДД
  • Время: ЧЧ:ММ:СС
  • Уровень логирования: INFO, WARN, ERROR, DEBUG
В этой задаче на вход подается одна строка. Вам нужно вывести True если начало строки совпадает с шаблоном и False в противном случае.
 

re.search(pattern, string) - находит ПЕРВОЕ совпадение с шаблоном в строке.

  • Возвращает: объект Match или None
  • Использование: match = re.search(r'\d+', text)

Найти первый товар из категории Electronics и вывести его название и цену в одной строке через пробел. 

Например (только для понимания формата вывода), 
DVD 34.5$

re.findall(pattern, string) - находит ВСЕ совпадения с шаблоном в строке.

  • Возвращает: список строк (если нет групп) или список кортежей (если есть группы)

  • Использование: results = re.findall(r'\d+', text)

Для извлечения (сохранения) конкретной части совпадения используйте группы. 
Пример
import re

text = "Цена: 100 руб."

# Без группы
print(re.findall(r"\d+ руб", text))  # ['100 руб']

# С группой  
print(re.findall(r"(\d+) руб", text))  # ['100']
Группы ( ) нужны, чтобы вытащить только нужную часть из найденного текста!
 
Задание
Найти все ID товаров (формат: английская буква + цифра) и вывести список (в формате ['A1', 'B2'....], ID товаров в алфавитном порядке).

Файл ко всем заданиям модуля
Выберите правильный вариант ответа.

Чем занимается функция input()?  
  1.   выводит текст на экран  
  2.   считывает данные с клавиатуры  
  3.   преобразует значения  
  4.   создаёт переменную  
Поделиться
Класснуть