1. Початкові налаштування
1.1. Завантаження Python
Версії інтерпретатора Python
для різних операційних систем доступні для безкоштовного завантаження на офіційному сайті Python
.
Як завантажити і налаштувати роботу Python
читайте у Додатку A: Завантаження і встановлення Python.
1.2. Середовище програмування для Python
Для написання програм використовують текстові редактори або інтегровані середовища розробки, які включають в себе різні інструменти для роботи з кодом: засіб для написання коду (текстовий редактор), інтерактивний інтерпретатор, відлагоджувач тощо.
Для налаштування деяких вищезгаданих середовищ програмування зверніться до Додатку B: Налаштування середовища програмування.
Для написання програм мовою Python можна використовувати онлайн-середовище repl.it .
|
1.3. Запуск Python: інтерактивний інтерпретатор
У режимі інтерактивного інтерпретатора команди вводяться у термінальному вікні (консольне вікно, вікно командного рядка) одна за одною і по натисненні клавіші Enter відразу виконуються з відображенням результату виконання.
Щоб відкрити вікно терміналу:
-
натисніть сполучення клавіш Win+R на клавіатурі, введіть команду
cmd
, натисніть OK (для користувачівWindows
); -
натиcніть сполучення клавіш Ctrl+Alt+T (для користувачів
Linux Ubuntu
).
У термінальному вікні, що з’явилося, введіть команду (у випадку використання Windows
):
python
або (у випадку використання Linux Ubuntu
можна вказати версію Python
, наприклад, 3.9
):
python3.9
Якщо на екрані з’явиться запрошення >>>
до введення команд, значить система виявила встановлену версію Python
:
Введіть в інтерактивному режимі інтерпретатора наступний рядок
print('Hello, Python!')
натисніть Enter і переконайтеся в тому, що на екрані з’явилось повідомлення Hello, Python!
:
Щоб вийти з режиму інтерактивного інтерпретатора Python , натисніть Ctrl+Z і Enter у Windows , Ctrl+D у Linux Ubuntu або виконайте команду exit() .
|
1.4. Робота з файлами Python
Програми, написані на мові Python
, зберігають у вигляді текстових файлів з розширенням .py
. В текстовому редакторі створіть новий файл і введіть у нього рядок:
print("Hello, Python!")
Збережіть файл з іменем hello.py
у каталог python_work
, який, наприклад, знаходиться на стільниці вашої операційної системи.
Переконайтеся, що ви зберегли файл як звичайний текст! |
Такі файли з кодом програми можна запускати у термінальному вікні.
1.4.1. Запуск програм в терміналі Windows
Відкрийте термінальне вікно (вікно командного рядка): натисніть сполучення клавіш Win+R на клавіатурі, введіть команду cmd
, натисніть OK і виконайте команди:
C:\Users>User> cd Desktop (1)
C:\Users>User\Desktop> cd python_work (2)
C:\Users>User\Desktop\python_work> dir (3)
hello.py (4)
C:\Users>User\Desktop\python_work> python hello.py (5)
Hello, Python! (6)
Назва User в записі - це ім’я користувача в операційній системі.
|
-
Переходимо у каталог
Desktop
(Стільниця) з використанням командиcd
. -
Переходимо у каталог
python_work
з використанням командиcd
. -
Читаємо вміст каталогу
python_work
з використанням командиdir
. -
Відображення вмісту каталогу (присутній єдиний файл
hello.py
). -
Запускаємо на виконання файл
hello.py
(ввестиpython
та ім’я файла). -
Відображення результату у вікні терміналу.
Для переходу на рівень вгору у дереві каталогів використовують інструкцію cd .. . Для переходу на інший диск використовують команду, що складається з назви диска і вертикальної двокрапки, наприклад, d: .
|
Щоб закрити вікно терміналу, введіть команду exit і натисніть Enter .
|
1.4.2. Запуск програм в терміналі Linux Ubuntu
Відкрийте вікно терміналу, натиснувши сполучення клавіш Ctrl+Alt+T, і виконайте команди:
teacher@teacher-VirtualBox:~$ pwd (1)
/home/teacher
teacher@teacher-VirtualBox:~$ ls (2)
Відео Завантаження Зображення Стільниця
Документи Загальнодоступні Музика Шаблони
teacher@teacher-VirtualBox:~$ cd Стільниця (3)
teacher@teacher-VirtualBox:~/Стільниця$
teacher@teacher-VirtualBox:~/Стільниця$ ls (4)
python_work
teacher@teacher-VirtualBox:~/Стільниця$ cd python_work (5)
teacher@teacher-VirtualBox:~/Стільниця/python_work$ ls (6)
hello.py
teacher@teacher-VirtualBox:~/Стільниця/python_work$ python3.9 hello.py (7)
Hello, World! (8)
teacher@teacher-VirtualBox:~/Стільниця/python_work$ cd .. (9)
teacher@teacher-VirtualBox:~/Стільниця$ cd ~ (10)
teacher@teacher-VirtualBox:~$
-
Дізнаємося поточне розташування з використанням команди
pwd
(після запуску терміналу поточний каталог - домашній каталог користувача). -
Читаємо вміст поточного каталогу
teacher
з використанням командиls
. -
Переходимо у каталог
Стільниця
з використанням командиcd
. -
Читаємо вміст каталогу
Стільниця
(всередині каталогpython_work
). -
Переходимо у каталог
python_work
з використанням командиcd
. -
Читаємо вміст каталогу
python_work
(всередині файлhello.py
). -
Запускаємо на виконання файл
hello.py
(ввести назву інтерпретатора разом із версієюpython3.9
та ім’я файла). -
Відображення результату у вікні терміналу.
-
Переходимо на рівень вгору в дереві каталогів з використанням інструкції
cd ..
. -
Відразу переходимо у домашній каталог користувача з використанням інструкції
cd ˜
.
Назва teacher@teacher-VirtualBox у записі - це, відповідно, ім’я користувача в операційній системі і назва комп’ютера, розділені символом @ .
|
Щоб закрити вікно терміналу, введіть команду exit і натисніть Enter .
|
1.5. Виправлення помилок
В процесі написання і виконання програм можуть з’являтися різноманітні помилки. У таких випадках інтерпретатор Python
сам повідомляє про помилку.
Наприклад, коли ми введемо в режимі інтерактивного інтерпретатора інструкцію '19' + 81
, з’явиться таке повідомлення:
>>> '19' + 81
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
Введена інструкція некоректна для Python
, тому він вказав назву помилки і номер рядка, в якому вона виникла, зупинивши виконання програми.
У Python , у разі появи помилки генерується виняток, який повідомляє про зміст помилки. В даному випадку, згенерований виняток TypeError повідомляє про несумісність типів під час додавання числа і рядка, іншими словами, рядок можна об’єднувати лише з рядком.
|
Якщо помилка зрозуміла для нас, її виправляють. В іншому випадку, щоб дізнатися, що означає повідомлення про помилку, можна здійснити пошук в мережі Інтернет за назвою помилки.
Основні помилки, що можуть виникнути при написанні програм на Python і шляхи їх виправлення можна переглянути у Додатку D: Код не працює: типові помилки.
|
2. Задачі
При розв’язуванні задач варто дотримутиватись PEP8 (Python Enhanced Proposal - розширена пропозиція Python ) - рекомендацій по написанню коду на Python .
|
Для перевірки власного коду для вимог PEP8 можна використовувати онлайн-сервіс PEP8 online check .
|
2.1. Змінні і типи даних
У даному розділі розглядаються прості типи даних в лінійних алгоритмах - алгоритмах, у яких команди виконуються в порядку їх запису, тобто послідовно в часі одна за одною від початку до кінця. |
-
Напишіть програму, яка отримує три цілих числа, введені з клавіатури (кожне число вводиться на окремому рядку), і друкує на екрані їх суму, добуток, результат піднесення першого числа до степеня різниці другого і третього чисел.
Вхідні дані:
2 3 6
Вихідні дані:
11 36 0.125
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка приймає ціле число
n
і обчислює значення виразуn + nn + nnn
.
Вхідні дані:
5 3 1
Вихідні дані:
615 369 123
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка отримує такі дані: ім’я, вік, хобі, введені з клавіатури (вводяться на окремих рядках), і друкує на екрані одним повідомленням повну інформацію на основі введених даних.
Вхідні дані:
Lord Voldemort 72 Magic
Вихідні дані:
My name is Lord Voldemort. I am 72 and my hobby is Magic.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка зчитує довжину основи та висоту прямокутного трикутника (цілі числа), обчислює площу і друкує її значення на екрані у відформатованому вигляді (два символи після десяткової крапки). Кожен параметр вводиться на окремому рядку.
Вхідні дані:
3 4
Вихідні дані:
6.00
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка зчитує ціле число, і друкує попереднє та наступне числа відносно введеного.
Вхідні дані:
179
Вихідні дані:
The next number for the number 179 is 180. The previous number for the number 179 is 178.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Вводиться ціле додатне число. Надрукуйте останню цифру числа.
Вхідні дані:
179 40 101
Вихідні дані:
9 0 1
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка друкує на екрані наступне повідомлення:
Hello, Starlink subscriber! Your current balance is 125.56 UAH.
Назва стільникової мережі і значення балансу вводиться з клавіатури.
Вхідні дані:
Starlink 4425
Вихідні дані:
Hello, Starlink subscriber! Your current balance is 4425.0 UAH.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка приймає ім’я та прізвище від користувача у різних рядках та роздруковує їх у зворотному порядку з пропуском між ними у вітальному повідомленні.
Вхідні дані:
Gordon Freeman
Вихідні дані:
Hello, Freeman Gordon!
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка вітає користувача, виводячи слово
Hello
, введене ім’я і розділові знаки за зразком (дивитися приклади вхідних і вихідних даних). Програма повинна зчитувати в рядкову змінну значення і виводити відповідне вітання. Зверніть увагу, що після коми повинен обов’язково стояти пропуск, а перед знаком оклику пропуску немає. Операцією конкатенації (об’єднанням) рядків (+
) користуватися не можна.
Вхідні дані:
Alex
Вихідні дані:
Hello, Alex!
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Вводиться ціле невід’ємне число
n
(n ≤ 100
). Виведіть2
n
.
Вхідні дані:
10 12 5
Вихідні дані:
1024 4096 32
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Дано двоцифрове число. Знайдіть число десятків у ньому.
Вхідні дані:
42 67 81
Вихідні дані:
4 6 8
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для друку чисел, у яких розділювачами груп розрядів (групи по три цифри) є коми.
Вхідні дані:
10000000 1000 12003
Вихідні дані:
10,000,000 1,000 12,003
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка отримує значення радіуса кола (дробове число) від користувача та обчислює площу круга і довжину колу. Виведення результату відбувається з трьома символами після десяткової крапки. Значення числа Пі округлити до сотих.
Вхідні дані:
5
Вихідні дані:
78.540 31.400
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для запису і розв’язування виразу
(a + b) * (a + b)
, деa
іb
- натуральні цілі числа.
Вхідні дані:
4 3
Вихідні дані:
(4 + 3) * (4 + 3) = 49
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для перетворення висоти (вказується окремо у футах (
1
фут =30,48
см) і дюймах (1
дюйм =2,54
см) у сантиметри.
Вхідні дані:
Feet: 10 Inches: 5
Вихідні дані:
Your height is: 318 cm.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для перетворення відстані (вказана у футах) у дюйми (
1
фут =12
дюймів), ярди (1
фут =0,333333333
ярда) і милі (1
фут =0,000189393939
милі).
Вхідні дані:
Input distance in feet: 22
Вихідні дані:
The distance in inches is 264 inches. The distance in yards is 7.333 yards. The distance in miles is 0.004 miles.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, щоб отримати
ASCII
значення введеного з клавіатури символа.
Вхідні дані:
G w +
Вихідні дані:
71 119 43
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, щоб вивести символ за введеним
ASCII
значенням.
Вхідні дані:
97 121 55
Вихідні дані:
a y 7
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Користувач вводить значення чисел
a
іb
з клавіатури. Напишіть програму для друку дії додавання і результату обчислення як у вихідних даних.
Вхідні дані:
30 20
Вихідні дані:
30 + 20 = 50
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка зчитує значення двох змінних
a
іb
, потім змінює їх значення місцями (тобто в зміннійa
має бути записано те, що раніше зберігалося вb
, а в зміннійb
записано те, що раніше зберігалося вa
). Потім виведіть значення змінних. Виконайте подане завдання без використання третьої змінної. У якому порядку значення змінних були введені, у тому ж порядку повинні і виводитися.
Вхідні дані:
34 190
Вихідні дані:
190 34
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для друку дробових чисел у форматі до
2
десяткових знаків.
Вхідні дані:
3.1415926 1.4567 5.8
Вихідні дані:
3.14 1.46 5.80
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для друку цілих чисел з нулями ліворуч, якщо введене число має у своєму записі менше
5
розрядів.
Вхідні дані:
125 20 12805
Вихідні дані:
00125 00020 12805
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, щоб надрукувати цілі числа із
∗
справа, якщо введене число має у своєму записі менше7
розрядів.
Вхідні дані:
23 1400231 -16
Вихідні дані:
23***** 1400231 -16****
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для форматування числа з відсотком.
Вхідні дані:
0.05 0.245 1
Вихідні дані:
5.00% 24.50% 100.00%
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка отримує три цифри і друкує їх суму. Кожна цифра вводиться на окремому рядку.
Вхідні дані:
1 3 5
Вихідні дані:
9
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, щоб конвертувати усі введені користувачем одиниці часу (дні, години, хвилини, секунди) в загальну кількість секунд.
Вхідні дані:
Days: 1 Hours: 16 Minutes: 25 Seconds: 50
Вихідні дані:
The amounts of seconds: 145550.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Необхідно певну суму грошей залишити на банківському рахунку, щоб отримувати відсотки по закінченню певного часу. Наприклад, через
10
років ви хотіли б отримати10 000
доларів США на власному рахунку. Скільки потрібно внести грошей на депозит сьогодні, щоб це сталося? Для розв’язування цієї задачі можна використовувати формулуp = f/(1+r)*n
, деp
- це поточна сума, яку потрібно внести сьогодні,f
- майбутнє значення, яке ви хочете отримати (у нашому випадку становить10 000
доларів США),r
- річна відсоткова ставка,n
- кількість років перебування грошей на рахунку.
Вхідні дані:
Enter the desired future value: 10000 Enter the annual interest rate: 0.05 Enter the number of years the money will grow: 10
Вихідні дані:
You will need to deposit this amount: 6139.13.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка обчислює значення
a + aa + aaa + aaaa
із заданою цифрою як цілочисельне значенняa
.
Вхідні дані:
9 1 3
Вихідні дані:
11106 1234 3702
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Вивести на екран три цілих числа в один рядок через пропуск у порядку, зворотному введенню чисел.
Вхідні дані:
4 12 -7
Вихідні дані:
-7 12 4
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Обчисліть
n
181
і виведіть на екран обчислене значення. Значенняn
- ціле число, яке вводиться з клавіатури.
Вхідні дані:
2
Вихідні дані:
3064991081731777716716694054300618367237478244367204352
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Дано два цілих додатних числа
a
іb
, які не перевищують1000
. Обчисліть і виведіть гіпотенузу трикутника із заданими катетами.
Вхідні дані:
10 18
Вихідні дані:
20.591260281974
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Вводяться три додатних числа - довжини сторін трикутника. Обчисліть площу трикутника за формулою Герона.
Вхідні дані:
3 4 5
Вихідні дані:
6.0
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка виконує усі арифметичні дії і піднесення до степеня з двома змінними
a
іb
в такому порядку: додавання, віднімання, множення, ділення, піднесення до степеня.
Вхідні дані:
15 2
Вихідні дані:
17 13 30 7.5 225
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Цілі числа
a
іb
вводяться користувачем. Напишіть програму для обчислення значення математичного виразу(45 + a - 11) / (b - 5)
3
.
Вхідні дані:
5 10
Вихідні дані:
0.312
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка обчислює суму, різницю, добуток, частку двох чисел, піднесення до степеня, розділяючи результати, записані в один рядок, символом
&
.
Вхідні дані:
6 3
Вихідні дані:
9&3&18&2.0&216
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка виводить результат ділення цілих змінних
a / b
іb / a
з роздільником∗∗∗
у форматі9
знакових позицій і5
знаків після десяткової крапки відповідно.
Вхідні дані:
10 3
Вихідні дані:
3.33333*** 0.30000
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для виведення такого повідомлення на екран:
Points: 145, 67, 111.
Довільні цілі числа вводить користувач з клавіатури і їх значення підставляються у повідомлення автоматично.
Вхідні дані:
145 67 111
Вихідні дані:
Points: 145, 67, 111.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для перетворення значення введеного користувачем з клавіатури (як відомо, вводиться текстовий рядок) у дійсне і ціле число.
Вхідні дані:
345.89012
Вихідні дані:
345.89012 345
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Введіть з клавіатури в окремих рядках різні типи величин: ціле число, текстовий рядок, дійсне число. Виведіть інформацію про типи введених даних.
Вхідні дані:
20 Python 14.7
Вихідні дані:
<class 'int'> <class 'str'> <class 'float'>
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Перетворіть введене з клавіатури ціле число у дробове і виведіть його на екран з трьома знаками після десяткової крапки.
Вхідні дані:
144 5 0
Вихідні дані:
144.000 5.000 0.000
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Перетворіть введене з клавіатури дробове число у ціле і виведіть його на екран.
Вхідні дані:
8.3 4.6 2.86
Вихідні дані:
8 4 2
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Перевірте приналежність до типу
int
таких величин як ціле число, текстовий рядок, дробове число.
Вхідні дані:
12 Guido van Rossum 19.56
Вихідні дані:
True False False
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму для друку повідомлення: «Значення змінної назва змінної дорівнює значення змінної, а її тип тип змінної.» Значення змінної вводять з клавіатури і у повідомленні виводиться у лапках.
Вхідні дані:
45 # рядок 45 # ціле число 45 # дійсне число
Вихідні дані:
Value of a is "45", and its type <class 'str'>. Value of b is "45", and its type <class 'int'>. Value of c is "45.0", and its type <class 'float'>.
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Припускаючи, що немає затримок, відстань, яку автомобіль долає, можна розрахувати за такою формулою: Відстань = Швидкість · Час. Значення швидкості автомобіля вводиться користувачем з клавіатури (у км/год). Напишіть програму, яка виведе на екран значення відстані у кілометрах, яку пройде автомобіль через
6
,10
,15
годин відповідно.
Вхідні дані:
70
Вихідні дані:
420 700 1050
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Обчисліть, скільки коштуватиме певний товар в магазині, якщо діє знижка на нього. Значення ціни товару і відсоток знижки вводяться в окремих рядках користувачем з клавіатури.
Вхідні дані:
150 0.3
Вихідні дані:
105.0
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка зчитує три цілих числа і виводить найбільше значення з них. Не можна користуватися розгалуженнями і циклами.
Вхідні дані:
12 -2 54
Вихідні дані:
54 -2
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Визначити, яку платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано
s
гривень, а податок становитьp
. Значення платні і податку (у%
) вводяться користувачем.
Вхідні дані:
100 20
Вихідні дані:
80.0
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Сашко, зазвичай, спить вночі
a
годин і влаштовує собі вдень тиху годину наb
хвилин. Визначте, скільки всього хвилин Сашко спить на добу.
Вхідні дані:
8 45
Вихідні дані:
525
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Напишіть програму, яка отримує від користувача два числа
a
іb
і виводить значення виразуa
b
.
Вхідні дані:
2 8
Вихідні дані:
256
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Троє друзів отримали в кафе рахунок на суму
n
гривень, який вони вирішили розділити порівну. Скільки повинен заплатити кожен з них, якщо чайові складають10%
від суми рахунку?
Вхідні дані:
46.70 122.50 25.20
Вихідні дані:
17.12 44.92 9.24
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Дано відстань
n
в метрах. Знайти кількість повних кілометрів в ній.
Вхідні дані:
1737 100 384400000
Вихідні дані:
1 0 384400
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Внесок в банк склав
n
гривень. Через рік банк нараховує вкладникуa
відсотків від суми вкладу. Скільки грошей буде на рахунку через рік?
Вхідні дані:
1000 8
Вихідні дані:
1080.0
Розділ: Змінні і типи даних | Рівень складності: початковий
-
Знайдіть модуль значення
y
, де
y = (a / b)x + (a(x+1)) / (b(x)).
Введення здійснюється в такому порядку: a
, b
, x
.
Вхідні дані:
1 -1 5
Вихідні дані:
2.0
Розділ: Змінні і типи даних | Рівень складності: початковий
-
В магазині канцелярських товарів Дарина купила
a
олівців,b
ручок таc
фломастерів. Відомо, що ціна ручки на2
гривні більша ціни на олівець і на7
гривень менша ціни на фломастера. Так само відомо, що вартість олівця становитьd
гривень. Користувачем вводяться по порядку в окремих рядках кількість олівців, ручок, фломастерів і ціна одного олівця. Необхідно обчислити загальну вартість покупки.
Вхідні дані:
1 2 2 3
Вихідні дані:
37
Розділ: Змінні і типи даних | Рівень складності: початковий
-
n
студентів берутьk
яблук і розподіляють між собою порівну. Решта фруктів залишається в кошику. Скільки яблук отримає кожен студент? Скільки яблук залишиться в кошику? Програма зчитує числаn
іk
і друкує на екрані дві відповіді на поставлені вище запитання.
Вхідні дані:
6 50
Вихідні дані:
8 2
Розділ: Змінні і типи даних | Рівень складності: середній
-
Дано натуральне число. Знайдіть цифру, що стоїть в розряді десятків в десятковому записі числа (друга цифра, якщо рахувати з кінця запису).
Вхідні дані:
1981 158 5
Вихідні дані:
8 5 0
Розділ: Змінні і типи даних | Рівень складності: середній
-
Мама спекла пиріг з яблуками, в якому було
60%
яблук, а решта - тісто. При цьому30%
тіста становили яйця і цукор, решта - борошно. Вся маса пирога дорівнюєm
кг. Яка маса борошна в пирозі в грамах?
Вхідні дані:
1.2 1 1.5
Вихідні дані:
336.0 280.0 420.0
Розділ: Змінні і типи даних | Рівень складності: середній
-
Знайти кількість відрізків
b
, розміщених на відрізкуa
, і довжину незайнятої частини на відрізкуa
. Користувачем вводиться довжина відрізкаa
, а потім довжина відрізкаb
на окремих рядках. Відповідь виводиться в одному рядку: кількість відрізківb
і довжина незайнятої частини відрізкаa
.
Вхідні дані:
121 11
Вихідні дані:
11 0
Розділ: Змінні і типи даних | Рівень складності: середній
-
Вводиться додатне ціле трицифрове число. Знайти суму цифр числа.
Вхідні дані:
153 123 565
Вихідні дані:
9 6 16
Розділ: Змінні і типи даних | Рівень складності: середній
-
Тетяна кожен день лягає спати рівно опівночі і нещодавно дізналась, що оптимальний час для її сну становить
t
хвилин. Тетяна хоче поставити собі будильник так, щоб він продзвенів рівно черезt
хвилин після півночі, однак для цього необхідно вказати час сигналу у форматі години і хвилини. Допоможіть Тані визначити, на який час завести будильник. Години і хвилини у виведенні програми повинні розташовуватися на різних рядках.
Вхідні дані:
450
Вихідні дані:
7 30
Розділ: Змінні і типи даних | Рівень складності: середній
-
Оленка дізналася, що їй для сну треба
t
хвилин. На відміну від Тетяни, Оленка лягає спати після опівночі вh
годин іm
хвилин. Допоможіть Оленці визначити, на який час їй поставити будильник, щоб він продзвенів рівно черезt
хвилин після того, як вона ляже спати. В окремомих рядках вводяться значенняt
,h
іm
відповідно. Гарантується, що Оленка повинна прокинутися в той же день, що і заснути. Програма повинна виводити час, на який потрібно поставити будильник: в першому рядку години, в другому - хвилини.
Вхідні дані:
430 1 40
Вихідні дані:
8 50
Розділ: Змінні і типи даних | Рівень складності: середній
-
Напишіть програму для перетворення введених секунд у кількість днів, годин, хвилин та секунд.
Вхідні дані:
6785 456789 86401
Вихідні дані:
0 day(s), 1 hour(s), 53 minute(s), 5 second(s). 5 day(s), 6 hour(s), 53 minute(s), 9 second(s). 1 day(s), 0 hour(s), 0 minute(s), 1 second(s).
Розділ: Змінні і типи даних | Рівень складності: середній
-
Враховуючи ціле число
n
- кількість хвилин, що пройшли з опівночі, - скільки годин і хвилин відображаються на екрані24
-годинного цифрового годинника? Програма повинна друкувати два числа: кількість годин (від0
до23
) і кількість хвилин (від0
до59
). Наприклад, якщоn = 150
, то після опівночі пройшло150
хвилин, тобто зараз2:30
ранку. Так що програма повинна друкувати2 30
.
Вхідні дані:
150 25 440
Вихідні дані:
2 30 0 25 7 20
Розділ: Змінні і типи даних | Рівень складності: середній
-
Вводиться додатне дійсне число, надрукуйте його дробову частину.
Вхідні дані:
17.9 1.066 0.01
Вихідні дані:
0.9 0.066 0.01
Розділ: Змінні і типи даних | Рівень складності: середній
-
Автомобіль може проїхати відстань
n
кілометрів за день. Скільки днів пройде для проїзду маршруту довжиноюm
кілометрів? Програма отримує два цілих додатних числа:n
іm
.
Вхідні дані:
600 625
Вихідні дані:
2
Розділ: Змінні і типи даних | Рівень складності: середній
-
Вводиться число
n
, необхідно «відрізати« від ньогоk
останніх цифр. Наприклад, приn = 123456
іk = 3
відповідь повинна бути123
.
Вхідні дані:
456712 2
Вихідні дані:
4567
Розділ: Змінні і типи даних | Рівень складності: середній
-
Книга коштує
a
гривень іb
копійок. Визначте, скільки гривень і копійок потрібно заплатити заn
книг. Значення вводяться користувачем у порядкуa
,b
,n
на окремих рядках, а сума до сплати в одному рядку через пропуск: кількість гривень і копійок відповідно.
Вхідні дані:
10 15 2
Вихідні дані:
20 30
Розділ: Змінні і типи даних | Рівень складності: середній
-
Вводиться цифра
0
або1
, необхідно вивести1
або0
відповідно, не використовуючи конструкцію розгалуження.
Вхідні дані:
0 1
Вихідні дані:
1 0
Розділ: Змінні і типи даних | Рівень складності: середній
-
Задане число
n
записали100
разів поспіль і потім піднесли до квадрату. Що вийшло?
Вхідні дані:
1 2
Вихідні дані:
123456790123456790123...987654321 493827160493827160493...950617284
Розділ: Змінні і типи даних | Рівень складності: середній
-
Напишіть програму сумування перших
n
натуральних чисел. Результатом має бути ціле число.
Вхідні дані:
100 15 99
Вихідні дані:
5050 120 4950
Розділ: Змінні і типи даних | Рівень складності: середній
-
Напишіть програму для обчислення координат середини відрізка.
Вхідні дані:
x1: 3 y1: 5 x2: 10 y2: -4
Вихідні дані:
The midpoint's x value is: 6.5 The midpoint's y value is: 0.5
Розділ: Змінні і типи даних | Рівень складності: середній
-
Напишіть програму, щоб перетворити ціле число в бінарне (двійкове). Передбачте зберігання провідних нулів у двійковому записі.
Вхідні дані:
389 65 2
Вихідні дані:
110000101 01000001 00000010
Розділ: Змінні і типи даних | Рівень складності: середній
-
Напишіть програму для перетворення десяткового числа у шістнадцяткове.
Вхідні дані:
266 55 450
Вихідні дані:
10a 37 1c2
Розділ: Змінні і типи даних | Рівень складності: середній
-
Число
n
10
записали чотири рази поспіль, деn
- ціле число, яке вводить користувач. З числа, що вийшло, обчислили корінь степеня10
. Скільки вийшло?
Вхідні дані:
181 3 45
Вихідні дані:
1437734104.8509512 94.868424673903 5665164.353073757
Розділ: Змінні і типи даних | Рівень складності: середній
-
За правилами числа округлюються до найближчого цілого числа, а якщо дробова частина числа дорівнює
0.5
, то число округляється вгору. Дано невід’ємне числоa
, яке необхідно округлити за цими правилами. Зверніть увагу, що функціяround()
не годиться для цього завдання! Використовувати розгалуження, цикли, математичний модульmath
не можна.
Вхідні дані:
2.5 5.4 56.87
Вихідні дані:
3 5 57
Розділ: Змінні і типи даних | Рівень складності: середній
-
Припустимо, учнівські канікули тривали кілька днів. Напишіть програму, на вхід якої подається кількість днів, а на екран виводиться у відформатованому вигляді (вирівнювання за лівим краєм, ширина поля:
10
знаків) загальна тривалість канікул у годинах, хвилинах, секундах.
Вхідні дані:
15
Вихідні дані:
360 hours 21600 minutes 1296000 seconds
Розділ: Змінні і типи даних | Рівень складності: середній
-
Виконайте перетворення значення температури у градусах Цельсія (
С
) для інших температурних шкал: Фаренгейта (F
) і Кельвіна (K
). Програма повинна відображати еквівалентну температуру у градусах Фаренгейта (F = 32 + 9/5 * C
) і у градусах Кельвіна (K = C + 273,15
).
Вхідні дані:
25
Вихідні дані:
25 Celsius = 77.000 Fahrenheit = 298.150 Kelvin
Розділ: Змінні і типи даних | Рівень складності: середній
-
Отримати реверсний (в зворотному порядку) запис введеного користувачем трицифрового числа.
Вхідні дані:
184
Вихідні дані:
481
Розділ: Змінні і типи даних | Рівень складності: середній
-
Школа вирішила замінити парти у трьох кабінетах. Кожна парта розрахована на двох учнів. Враховуючи кількість учнів у кожному класі, надрукуйте найменшу можливу кількість парт, які треба придбати. Програма повинна прочитати три цілих числа: кількість учнів в кожному з трьох класів
a
,b
таc
відповідно.
Вхідні дані:
20 21 22
Вихідні дані:
32
Розділ: Змінні і типи даних | Рівень складності: високий
-
Дано п’ятизначне десяткове число. Побудуйте нове десяткове число за наступними правилами. Необхідно обчислити два числа, з яких перше - це сума першої, третьої та п’ятої цифр і друге число - це сума другої і четвертої цифр введеного числа. Відповідь - це отримані два числа, які записуються один за одним в одному рядку.
Вхідні дані:
12345 44444 11111
Вихідні дані:
96 128 32
Розділ: Змінні і типи даних | Рівень складності: високий
-
Дано ціле число
n
. Виведіть наступне за ним парне число.
Вхідні дані:
7 10 11
Вихідні дані:
8 12 12
Розділ: Змінні і типи даних | Рівень складності: високий
-
Електронний годинник показує час в форматі
h: mm: ss
, тобто спочатку записується кількість годин (число від0
до23
, потім обов’язково двозначна кількість хвилин, потім обов’язково двозначна кількість секунд. Кількість хвилин і секунд при необхідності доповнюються до двозначного числа нулями. З початку доби минулоn
секунд. Виведіть, що покаже годинник.
Вхідні дані:
3602 4556789 4568
Вихідні дані:
1:00:02 17:46:29 1:16:08
Розділ: Змінні і типи даних | Рівень складності: високий
-
Дано два моменти часу в межах однієї доби. Для кожного моменту вказано години, хвилини і секунди. Відомо, що другий момент часу настав не раніше першого. Визначте скільки секунд пройшло між двома моментами часу. Програма на вхід отримує шість цілих чисел в окремих рядках. Перші три цілих числа відповідають годинам, хвилинам і секундам першого моменту, наступні три числа відповідають другому моменту. Години задаються числом від
0
до23
включно. Хвилини і секунди - від0
до59
.
Вхідні дані:
1 1 1 2 2 2
Вихідні дані:
3661
Розділ: Змінні і типи даних | Рівень складності: високий
-
Равлик повзе по вертикальній жердині висотою
h
метрів, піднімаючись за день наa
метрів, а за ніч спускаючись наb
метрів. На який день равлик доповзе до вершини жердини? Дані вводяться у порядкуh
,a
,b
.
Вхідні дані:
10 3 2
Вихідні дані:
8
Розділ: Змінні і типи даних | Рівень складності: високий
-
Дано чотиризначне число. Визначте, чи є його десятковий запис симетричним. Якщо число симетричне, то виведіть
1
, інакше виведіть будь-яке інше ціле число. Число може мати менше чотирьох знаків, тоді потрібно вважати, що його десятковий запис доповнюється зліва нулями.
Вхідні дані:
2002
Вихідні дані:
1
Розділ: Змінні і типи даних | Рівень складності: високий
-
Напишіть програму, яка зчитує два цілих числа
a
іb
і виводить найбільше значення з них. Числа - цілі від1
до1000
. При розв’язуванні задачі можна користуватися тільки цілочисельними арифметичними операціями. Не можна користуватися розгалуженнями, циклами, функціями.
Вхідні дані:
8 5
Вихідні дані:
8
Розділ: Змінні і типи даних | Рівень складності: високий
-
У цьому завданні необхідно перевірити, чи ділиться число
a
на числоb
без остачі і вивестиYES
абоNO
. Використовувати можна тільки арифметичні операції, використання будь-яких видів розгалужень, функцій заборонено.
Вхідні дані:
10 5
Вихідні дані:
YES
Розділ: Змінні і типи даних | Рівень складності: високий
-
Напишіть програму для розрахунку суми цифр у
4
-цифровому цілому числі, яке вводиться користувачем.
Вхідні дані:
4273 1221 3355
Вихідні дані:
16 6 16
Розділ: Змінні і типи даних | Рівень складності: високий
-
Напишіть програму для сортування трьох цілих чисел без використання умовних виразів і циклів.
Вхідні дані:
1 8 5
Вихідні дані:
1 5 8
Розділ: Змінні і типи даних | Рівень складності: високий
-
Необхідно перевезти
n
книг. Для транспортування можна використовувати коробки, які вміщаютьm
книг кожна. Порахуйте, яку кількість коробок необхідно використати для перевезення всіх книг за один раз. Користувачем вводиться два цілих числаn
іm
, а програма виводить одне ціле число - мінімальну кількість коробок.
Вхідні дані:
40 15
Вихідні дані:
3
Розділ: Змінні і типи даних | Рівень складності: високий
-
Напишіть програму, яка по даному числу
n
від1
до9
виводить на екранn
пінгвінів. Зображення одного пінгвіна має розмір5 × 9
символів, між двома сусідніми пінгвінами також є порожній (з пропусків) стовпець. Дозволяється вивести порожній стовпець після останнього пінгвіна. Для спрощення малювання скопіюйте пінгвіна з прикладу в середовище розробки.
Вхідні дані:
3
Вихідні дані:
_~_ _~_ _~_ (o o) (o o) (o o) / V \ / V \ / V \ /( _ )\ /( _ )\ /( _ )\ ^^ ^^ ^^ ^^ ^^ ^^
Розділ: Змінні і типи даних | Рівень складності: високий
-
В деякій школі заняття починаються о
9:00
. Тривалість уроку -45
хвилин, після1
-го,3
-го,5
-го і т. д. уроків перерва5
хвилин, а після2
-го,4
-го,6
-го і т. д. -15
хвилин. Вводиться номер уроку (число від1
до10
). Визначте, коли закінчується зазначений урок, а саме, виведіть два цілих числа: час закінчення уроку в годинах і хвилинах.
Вхідні дані:
3 4 5
Вихідні дані:
11 35 12 25 13 25
Розділ: Змінні і типи даних | Рівень складності: високий
-
У годиннику сіла батарейка, і вони стали йти вдвічі повільніше. Коли на годиннику було
x1
годинy1
хвилин, правильний час бувa1
годинb1
хвилин. Скільки часу буде насправді, коли годинник в наступний раз покажеx2
годинy2
хвилин? Програма отримує на вхід числаx1
,y1
,a1
,b1
,x2
,y2
в зазначеному порядку. Всі числа цілі. Числаx1
,a1
,x2
- від0
до23
, числаy1
,b1
,y2
- від0
до59
. Виведіть два числаa2
іb2
, що визначають скільки буде часу насправді, коли на годиннику будеx2
годинy2
хвилин.
Вхідні дані:
12 34 10 34 12 35
Вихідні дані:
10 36
Розділ: Змінні і типи даних | Рівень складності: високий
-
Вводиться додатне дійсне число
a
. Виведіть його першу цифру після десяткового дробу. При розв’язуванні цього завдання не можна користуватися умовною конструкцією і циклом.
Вхідні дані:
4.65 12.06 12.46
Вихідні дані:
6 0 4
Розділ: Змінні і типи даних | Рівень складності: високий
-
З початку доби минуло
h
годин,m
хвилин,s
секунд (0 < h < 12
,0 < m < 60
,0 < s < 60
). За даними числамиh
,m
,s
визначте кут (в градусах), на який повернулаcь годинникова стрілка з початку доби і виведіть його у вигляді дійсного числа. При розв’язуванні цього завдання не можна користуватися умовними конструкціями і циклами.
Вхідні дані:
2 10 45
Вихідні дані:
65.375
Розділ: Змінні і типи даних | Рівень складності: високий
-
З початку доби годинникова стрілка повернулася на кут
a
градусів. Визначте на який кут повернулась хвилинна стрілка з початку останньої години. Вхідні і вихідні дані - дійсні числа. При розв’язуванні цього завдання не можна користуватися умовними конструкціями і циклами.
Вхідні дані:
190 170 370
Вихідні дані:
120.0 240.0 120.0
Розділ: Змінні і типи даних | Рівень складності: високий
-
Відомо, що батько старший за сина на
n
років, а син молодший батька вm
разів. Визначте, скільки років батькові і скільки років синові. Вхідні дані такі, що вік батька і вік сина є цілими числами. Програма має вивести два числа, розділені пропуском: вік батька і вік сина.
Вхідні дані:
20 5
Вихідні дані:
25 5
Розділ: Змінні і типи даних | Рівень складності: високий
-
Дано прямокутник з розмірами
a x b
мм. Скільки квадратів зі стороноюc
мм можна відрізати від нього? Вхідні дані такі, що сторони прямокутника і квадрата є цілими числами. Програма повинна вивести одне число: кількість квадратів, які можна відрізати від даного прямокутника.
Вхідні дані:
5 4 2
Вихідні дані:
4
Розділ: Змінні і типи даних | Рівень складності: високий
-
У книзі на одній сторінці поміщається
k
рядків. Таким чином, на1
-й сторінці друкуються рядки з1
-го поk
-й, на другій сторінці - з(k + 1)
-й по(2 * k)
-й і т. д. Напишіть програму, на вхід якої подається кількість рядківk
на сторінці і номер рядкаn
в тексті, по якому визначається номер сторінки, на якій буде надрукований цей рядок, і порядковий номер цього рядка на сторінці.
Вхідні дані:
20 25
Вихідні дані:
2 5
Розділ: Змінні і типи даних | Рівень складності: високий
-
Потрібно підрахувати, на скільки раніше буде закінчуватися
k
-й урок, якщо всі перерви скоротити на5
хвилин. Вводиться одне натуральне числоk
, не більше7
. Необхідно вивести одне натуральне число - час у хвилинах.
Вхідні дані:
2 3 5
Вихідні дані:
5 10 20
Розділ: Змінні і типи даних | Рівень складності: високий
-
Ви придбали товар на певну суму
s
. Скільки купюр різного номіналу треба віддати продавцю, якщо починати платити з найбільших? У вас є1
,2
,5
,10
,100
,500
гривень.
Вхідні дані:
534 1245 12
Вихідні дані:
1 (500), 0 (100), 3 (10), 0 (5), 4 (1) 2 (500), 2 (100), 4 (10), 1 (5), 0 (1) 0 (500), 0 (100), 1 (10), 0 (5), 2 (1)
Розділ: Змінні і типи даних | Рівень складності: високий
2.2. Розгалуження
Даний розділ містить задачі, розв’язування яких передбачає використання алгоритмів з розгалуженням - алгоритмів, у яких, залежно від виконання деякої умови, виконується одна або інша послідовність команд. |
-
Напишіть програму, в якій користувач вводить пароль і якщо він співпадає із наперед визначеним паролем для цього користувача, то виводиться повідомлення
Password accepted.
. У іншому випадку повідомлення будеSorry, that is the wrong password.
.
Вхідні дані:
starlink 12345
Вихідні дані:
Password accepted. Sorry, that is the wrong password.
Розділ: Розгалуження | Рівень складності: початковий
-
Користувачем вводиться два імені. Використовуючи конструкцію розгалуження програма повинна вивести імена в алфавітному порядку.
Вхідні дані:
Guido van Rossum Dennis Ritchie
Вихідні дані:
Dennis Ritchie Guido van Rossum
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка виводить назви введених чисел. Користувач вводить ціле число. Якщо це число або
1
або2
або3
, то виводиться повідомлення - назва числа, відповідно,One
,Two
,Three
. В усіх інших випадках виводиться словоUnknown
.
Вхідні дані:
20 1 2 3
Вихідні дані:
Unknown One Two Three
Розділ: Розгалуження | Рівень складності: початковий
-
Користувач вводить дві різних англійські літери в окремих рядках. Напишіть програму, яка виводить повідомлення про місце розташування однієї літери відносно іншої у алфавіті.
Вхідні дані:
z a
Вихідні дані:
z is not less than a
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, в якій користувач вводить значення температури, і, якщо це значення менше або дорівнює
0
градусів Цельсія, необхідно вивести повідомленняA cold, isn’t it?
. Якщо ж температура становить більше0
і менше10
градусів Цельсія повідомлення будеCool.
, у інших випадкахNice weather we’re having.
.
Вхідні дані:
12.5 -5 9
Вихідні дані:
Nice weather we're having. A cold, isn't it? Cool.
Розділ: Розгалуження | Рівень складності: початковий
-
У чемпіонаті з футболу команді за виграш дається
3
очка, за програш -0
, за нічию -1
. Відомо кількість очок, отриманих командою за гру. Вивести результат гри у вигляді відповідних слів: «виграш», «програш» або «нічия».
Вхідні дані:
3 1 0
Вихідні дані:
win draw lose
Розділ: Розгалуження | Рівень складності: початковий
-
Відомі дві швидкості: одна в кілометрах за годину, інша - в метрах за секунду. Яка з швидкостей більше?
Вхідні дані:
60 18
Вихідні дані:
18
Розділ: Розгалуження | Рівень складності: початковий
-
Дано радіус кола і сторона квадрата (дійсні числа). У якої фігури площа більше?
Вхідні дані:
2.5 3.5 3.6 7.5
Вихідні дані:
Circle Square
Розділ: Розгалуження | Рівень складності: початковий
-
Дано маси і об’єми двох тіл, виготовлених з різних матеріалів (дійсні числа). Матеріал якого з тіл має більшу густину? Введення величин відбувається у такому порядку:
m1
,v1
,m2
,v2
.
Вхідні дані:
2 3.5 1.5 2.3
Вихідні дані:
1.5 2.3
Розділ: Розгалуження | Рівень складності: початковий
-
Серед учнів школи проводилося тестування з трьох предметів, по кожному з яких учні отримали певну кількість балів (цілі числа). Напишіть програму, яку можуть використати учні для обчислення їхнього середнього балу трьох тестів і виведення середнього значення. Окрім того, необхідно передбачити виведення повідомлення
Congratulations! That is a great average!
, якщо середній бал більший ніж95
.
Вхідні дані:
143 112 135
Вихідні дані:
130.00 Congratulations! That is a great average!
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, на вхід якої подається два цілих числа - вік Сашка і вік Тетянки. Програма має вивести повідомлення про те, хто є старшим серед них.
Вхідні дані:
17 22
Вихідні дані:
Tatyana is the eldest.
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка запитує два цілих числа. Якщо добуток чисел перевищує їх суму, надрукувати добуток чисел, у протилежному випадку - вивести їх суму. Якщо добуток дорівнює сумі, вивести різницю чисел.
Вхідні дані:
2 2
Вихідні дані:
0
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, щоб перевірити, чи є введене число додатним, від’ємним або це нуль.
Вхідні дані:
7 -5.6 0
Вихідні дані:
It is positive number It is a negative number It is Zero
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка зчитує два цілих числа
a
іb
(від1
до1000
) та виводить найбільше значення з них.
Вхідні дані:
12 3
Вихідні дані:
12
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка друкує
Yes
, якщо вводяться рядкиyes
абоYES
абоYes
, у інших випадках друкуєNo
.
Вхідні дані:
yes YES definitely
Вихідні дані:
Yes Yes No
Розділ: Розгалуження | Рівень складності: початковий
-
Дано три цілих числа. Визначте, скільки серед них збігаються. Програма повинна вивести одне з чисел:
3
(якщо усі однакові),2
(якщо два однакові) або0
(якщо усі числа різні).
Вхідні дані:
5 5 5
Вихідні дані:
3
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка визначає поведінку космічного апарата, що стартує на екваторі, залежно від його початкової швидкості
v
, заданої у км/с (дійсні числа). Як ви знаєте з уроків фізики, тут можливі чотири випадки: приv < 7,8
км/с апарат впаде на поверхню Землі; при7,8 ≤ v < 11,2
км/с апарат стане супутником Землі; при11,2 ≤ v < 16,4
км/с апарат стане супутником Сонця; приv ≥ 16,4
км/с космічний апарат покине Сонячну систему.
Вхідні дані:
12.5 22.56 8.3
Вихідні дані:
The device became a satellite of the Sun. The device left the Solar system. The device became a satellite of the Earth.
Розділ: Розгалуження | Рівень складності: початковий
-
В університеті використовується наступна шкала для інтерпретації результатів тестування студентів:
90
балів і вище (A
),80-89
(B
),70-79
(C
),60-69
(D
), нижче60
(F
). Напишіть програму, яка дозволить студенту ввести тестовий бал, а потім відобразити оцінку для цього балу.
Вхідні дані:
95 48 74
Вихідні дані:
Your grade is A. Your grade is F. Your grade is C.
Розділ: Розгалуження | Рівень складності: початковий
-
Автомобіль подолав відстань
s
км через населений пункт заt
хв. Визначити, чи не порушив водій правил дорожнього руху, якщо швидкість автомобіля при цьому не повинна перевищувати60
км/год.
Вхідні дані:
3 3 4 1
Вихідні дані:
Traffic rules are executed. Traffic rules are not met.
Розділ: Розгалуження | Рівень складності: початковий
-
Користувач вводить значення температури
t
у градусах Цельсія. Напишіть програму, яка виводить назву стану, у якому знаходиться вода при цій температурі за нормальних умов.
Вхідні дані:
-10.5 25 120
Вихідні дані:
ice water water vapor
Розділ: Розгалуження | Рівень складності: початковий
-
Дано п’ять цілих чисел
a
,b
,c
,d
,e
. Визначити, скільки з них додатних.
Вхідні дані:
3 -2 5 0 -1
Вихідні дані:
2
Розділ: Розгалуження | Рівень складності: початковий
-
Дано ціле число
a
. Знайти значення виразу:a/(|a|-10)
. Врахувати у програмі випадок, коли відбувається ділення на нуль.
Вхідні дані:
10 20 -10
Вихідні дані:
Division by zero! 2.0 Division by zero!
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка запитує користувача номер в діапазоні від
1
до7
. Програма повинна відображати відповідний день тижня, де1
- це понеділок, а7
- неділя. Програма має враховувати варіант, коли користувач вводить номер, що знаходиться за межами діапазону від1
до7
.
Вхідні дані:
5 10 2
Вихідні дані:
Friday There is no such day of the week. Tuesday
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка просить користувача ввести вік людини (ціле число). Програма повинна вивести повідомлення про те, чи є особа немовлям, дитиною, підлітком або дорослим за такими правилами: якщо людині
1
рік або менше, він або вона є немовлям, якщо особа старше1
року, але молодше13
років, вона є дитиною, якщо особа не молодше13
років, але молодше20
років, вона є підлітком і якщо особа віком старше20
років, вона є дорослою.
Вхідні дані:
3 14 1 25
Вихідні дані:
You are a child. You are a teenager. You are an infant. You are an adult.
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, яка запропонує користувачеві ввести десяткове число у межах від
1
до10
. Програма повинна вивести версію римського числа. Програма має враховувати ситуацію, якщо введене число є за межами діапазону від1
до10
.
Вхідні дані:
8 10 12
Вихідні дані:
VIII X You entered a number without the range.
Розділ: Розгалуження | Рівень складності: початковий
-
Дату
2
жовтня2020
р. будемо називати «магічною», оскільки, коли вона записана у форматі02.10.20
, добуток значень дня і місяця дорівнюють значенню року. Напишіть програму, яка запропонує користувачеві ввести день, місяць і рік (лише останні дві цифри) у числовій формі. Програмі слід вивести повідомлення про те, що введена дата є «магічною». В іншому випадку має бути повідомлення, що це звичайна дата.
Вхідні дані:
02 10 20
Вихідні дані:
The date is magic!
Розділ: Розгалуження | Рівень складності: початковий
-
Червоний, зелений та синій кольори відомі як основні кольори колірної моделі
RGB
. При змішуванні червоного та зеленого кольорів, отримується жовтий, при змішуванні синього і зеленого - блакитний, а при змішуванні синього і червоного – пурпуровий колір. Напишіть програму, яка запропонує користувачеві ввести назви двох основних кольорів для змішування. Якщо користувач вводить щось інше, ніж «червоний», «синій» або «зелений», програма повинна виводити повідомлення про відсутність такої палітри. В іншому випадку програма повинна відображати назву кольору, що утворився.
Вхідні дані:
blue red
Вихідні дані:
Magenta
Розділ: Розгалуження | Рівень складності: початковий
-
Книжковий інтернет-магазин має книжковий клуб, який нараховує бали своїм клієнтам на основі кількості книг, що купуються щомісяця (бали можна використати як знижку при черговому придбанні книги). Бали нараховуються таким чином: якщо клієнт купує менше
2
книг, він отримує0
балів; якщо клієнт купує від2
книг до4
книг, він отримує5
балів; якщо клієнт купує від4
книг і до6
книг, він заробляє15
балів; якщо клієнт купує від6
книг до8
книг, він заробляє30
балів; якщо клієнт купує8
і більше книг, він заробляє60
балів. Напишіть програму, яка просить користувача ввести кількість книг, які він придбав у цьому місяці, і відображає кількість отриманих балів.
Вхідні дані:
6 9 1
Вихідні дані:
You earned 30 points. You earned 60 points. You earned 0 points.
Розділ: Розгалуження | Рівень складності: початковий
-
Компанія-виробник програмного забезпечення у сфері інформаційної безпеки реалізує один комплект програм за
2700
гривень. Якщо відбувається купівля декількох одиниць товару, працює система знижок:10-19
одиниць товару -10%
,20-49
-20%
,50-99
-30%
,100
або більше -40%
. Напишіть програму, яка отримує від користувача ціле число - кількість придбаних комплектів програмного забезпечення і виводить повідомлення про суму знижки (якщо така є) та загальну суму при купівлі зі знижкою.
Вхідні дані:
26 3 110
Вихідні дані:
The amount of discount is 20%, total amount of the purchase after the discount is UAH 56160.0 The amount of discount is 0%, total amount of the purchase after the discount is UAH 8100 The amount of discount is 40%, total amount of the purchase after the discount is UAH 178200.0
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму, на вхід якої подається назва місяця, а програма виводить кількість днів у ньому. Врахуйте те, що місяць «Лютий» може мати
28
або29
днів.
Вхідні дані:
September February August
Вихідні дані:
September has 30 days in it. February has 28 or 29 days in it. August has 31 days in it.
Розділ: Розгалуження | Рівень складності: початковий
-
Дано ціле число
n
(1 ≤ n ≤ 4
), яке визначає пору року: весна, літо, осінь, зима. За вказаним значенням n необхідно надрукувати перелік місяців, які відносяться до цієї пори року.
Вхідні дані:
1 4 5
Вихідні дані:
March, April, May December, January, February Incorrect data!
Розділ: Розгалуження | Рівень складності: початковий
-
Залежно від розміру суми, розмір податку з неї розраховується за такою схемою: якщо сума не перевищує деяку величину
a
, то податок не вираховується; якщо сума більша заa
, але не перевищуєb
, то податок становить10%
; якщо сума більша заb
, але не перевищуєc
, то податок становить25%
; якщо сума більшаc
, то податок становить50%
. Визначити, який податок (дійсне число) буде вираховано із суми розміромs
. Дані (цілі числа) вводяться в такому порядку:a
,b
,c
,s
.
Вхідні дані:
1000 500 700 3200
Вихідні дані:
1600.0
Розділ: Розгалуження | Рівень складності: початковий
-
Напишіть програму виведення текстового варіанта шкільних оцінок:
1
,2
,3
(початковий рівень -initial level
),4
,5
,6
(середній рівень -average level
),7
,8
,9
(достатній рівень -sufficient level
),10
,11
,12
(високий рівень -high level
).
Вхідні дані:
7 10 15
Вихідні дані:
sufficient level high level level is absent
Розділ: Розгалуження | Рівень складності: початковий
-
Розробіть програму для виведення інформації про операційну систему, яка встановлена на комп’ютері користувачa, при введенні відповідного номера:
1
-Window
,2
-Linux
,3
-MacOS
. Передбачте у роботі програми ситуації, коли користувач вводить інший номер, відмінний від наведених, або програма на вхід отримує порожній рядок.
Вхідні дані:
2 5
Вихідні дані:
Linux You did not enter a number. Program has completed work. We could not determine your operating system.
Розділ: Розгалуження | Рівень складності: початковий
-
Подорожуючи на автомобілі, ви заїхали на автозаправну станцію. До наступної заправки
200
кілометрів. Напишіть програму, яка буде визначати, чи потрібно вам заправлятися або ж можна почекати до наступної станції. Програма повинна запитати: який розмір вашого бензобаку в літрах; скільки пального в бензобаку (у відсотках); скільки кілометрів проходить автомобіль на одному літрі палива. Результатом роботи програми має бути інформація про кількість кілометрів, які ще можна проїхати і почекати до наступної автозаправної станції, або негайно заправитись.
Вхідні дані:
60 30 8
Вихідні дані:
You can drive another 144.0 kilometers. Next refueling after 200 kilometers. FILL IN NOW!
Розділ: Розгалуження | Рівень складності: початковий
-
Дано натуральне число. Визначити, чи закінчується воно цифрою
5
.
Вхідні дані:
12395 123
Вихідні дані:
True False
Розділ: Розгалуження | Рівень складності: початковий
-
Дано три цілих числа. Необхідно надрукувати ті з них, які є парними.
Вхідні дані:
4 5 6
Вихідні дані:
4 6
Розділ: Розгалуження | Рівень складності: початковий
-
Перевірити, чи належить число, введене з клавіатури, інтервалу
(-5, 3)
.
Вхідні дані:
4 2 3
Вихідні дані:
False True False
Розділ: Розгалуження | Рівень складності: початковий
-
Визначити, чи є число а дільником числа
b
або, навпаки, числоb
дільником числаa
.
Вхідні дані:
6 3 3 2
Вихідні дані:
True False
Розділ: Розгалуження | Рівень складності: початковий
-
Перевести число, введене користувачем, у байти або кілобайти в залежності від його вибору. Користувач вводить значення у мегабайтах і, відповідно, вводить напрямок переведення:
B
(у байти) абоKB
(у кілобайти).
Вхідні дані:
1024 B 1024 KB
Вихідні дані:
1024 MB = 1073741824 B 1024 MB = 1048576 KB
Розділ: Розгалуження | Рівень складності: початковий
-
Визначте назву геометричної фігури за введеною кількістю її сторін. Програма повинна підтримувати фігури від
3
до6
сторін. Якщо введена кількість сторін поза межами цього діапазону, програма повинна відображати відповідне повідомлення.
Вхідні дані:
2 3 4 5 6
Вихідні дані:
That number of sides is not supported by this program. That's a triangle. That's a quadrilateral. That's a pentagon. That's a hexagon.
Розділ: Розгалуження | Рівень складності: середній
-
Ігрове поле рулетки поділено на номери від
0
до36
, які мають чорний, червоний або зелений кольори. Номер0
має зелений колір, для номерів від1
до10
, непарні номери - червоні, а парні - чорні. Непарні номери від11
до18
- чорні, а парні номери - червоні. Непарні номери від19
до28
- червоні, а парні номери - чорні. Непарні номери від29
до36
- чорні, а парні номери - червоні. Напишіть програму, яка отримує номер (число від0
до36
) та показує, чи є номер зеленим, червоним або чорним. Програма повинна враховувати варіант, якщо користувач вводить номер, який знаходиться за межами діапазону від0
до36
.
Вхідні дані:
24 34 10 42
Вихідні дані:
Black Red Black The bet will not play!
Розділ: Розгалуження | Рівень складності: середній
-
На станції ремонту автомобілів працює кілька працівників. Якщо який-небудь працівник працює понад
40
годин на тиждень, він отримує в1,5
рази більше від звичайної погодинної оплати. Розробіть програму, яка розраховує заробітну плату працівника, включаючи оплату за додаткові години. Програма отримує на вхід два цілих числа - кількість робочих годин і ставку погодинної оплати.
Вхідні дані:
45 15
Вихідні дані:
712.50
Розділ: Розгалуження | Рівень складності: середній
-
Напишіть програму для знаходження коренів квадратного рівняння
a*x
2
+ b*x + c = 0
. Користувач вводить значення коефіцієнтівa
,b
,c
. У вхідних даних наведено три пари вхідних значень коефіцієнтів, а у вихідних даних - відповідні повідомлення про кількість коренів або їх відсутність.
Вхідні дані:
8 4 2 3.6 10 -3 2 4 2
Вихідні дані:
No roots. 0.27 and -3.05 -1.00
Розділ: Розгалуження | Рівень складності: середній
-
Дано дві точки:
A (x1, y1)
іB (x2, y2)
. Напишіть програму, яка визначає, яка із точок знаходиться далі від початку координат.
Вхідні дані:
1 2 3 2 4 4 4 4
Вихідні дані:
B The distance is the same
Розділ: Розгалуження | Рівень складності: середній
-
Вводяться координати
(x, y)
точкиA
і радіус кола (r
). Визначити, чи належить дана точка колу, якщо його центр знаходиться в початку координат.
Вхідні дані:
3 4 5 -2 5 3
Вихідні дані:
The point belongs to the circle The point is outside the circle
Розділ: Розгалуження | Рівень складності: середній
-
Дано натуральное число. Визначити, чи закінчується число парною цифрою.
Вхідні дані:
1234 35
Вихідні дані:
True False
Розділ: Розгалуження | Рівень складності: середній
-
Дано трицифрове число. Визначити, чи рівний квадрат суми цифр числа сумі кубів його цифр.
Вхідні дані:
123 210 150
Вихідні дані:
True True False
Розділ: Розгалуження | Рівень складності: середній
-
Розробіть програму-резюме, яка за введеними початковими даними і порядковим номером виводить таку інформацію:
1
- прізвище,2
- ім’я,3
- вік,4
- хобі,5
- номер телефону.
Вхідні дані:
Brendan Eich 57 programmer 4567231 4
Вихідні дані:
Programmer
Розділ: Розгалуження | Рівень складності: середній
-
Дано ціле число
k
(1 ≤ k ≤ 365
). Визначити, яким будеk
-й день року: вихідним (субота або неділя) або робочим, якщо1
січня - понеділок.
Вхідні дані:
5 7 56
Вихідні дані:
working day day off day off
Розділ: Розгалуження | Рівень складності: середній
-
Прямокутник на площині, зі сторонами, паралельними координатним осям, заданий координатами лівої верхньої і правої нижньої своїх вершин. Також дані координати точки. Усі координати - цілі числа. Визначити, чи належить вказана точка заданому прямокутнику.
Вхідні дані:
1 7 10 2 3 3
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: середній
-
Визначити чверть координатної площини, якій належить точка
A
з координатами(x1, y1)
. Відомо, що координати не рівні нулю і є цілими числами.
Вхідні дані:
2 -4 -4 3
Вихідні дані:
IV II
Розділ: Розгалуження | Рівень складності: середній
-
Визначити, чи увійде в конверт з внутрішніми розмірами
a
іb
мм прямокутна листівка з розмірамис
іd
мм. Для розміщення листівки в конверті необхідний проміжок в1
мм з кожної сторони. Значення сторін листівки і конверту - цілі числа.
Вхідні дані:
5 6 4 5
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: середній
-
Розробити програму-довідник, яка за введеним значенням радіуса
r
пропронуватиме користувачу допомогу в обчисленніn
(номер послуги):1
- довжини кола,2
- площі круга,3
- об’єму кулі,4
- площі поверхні кулі. Дані вводять в такому порядку:r
,n
.
Вхідні дані:
8 2
Вихідні дані:
200.96
Розділ: Розгалуження | Рівень складності: середній
-
Напишіть програму, щоб визначити, чи задане ціле число (вводиться користувачем) парне або непарне.
Вхідні дані:
2 5 11
Вихідні дані:
True False False
Розділ: Розгалуження | Рівень складності: середній
-
Дано дійсне число
n
, що містить два знака до десяткової точки і два після неї. Необхідно отримати нове число, помінявши в числі цілу і дробову частини.
Вхідні дані:
10 5 11 5
Вихідні дані:
2 1
Розділ: Розгалуження | Рівень складності: середній
-
Дано двоцифрове число. Визначити, чи є сума його цифр двоцифровим числом.
Вхідні дані:
55 19 15
Вихідні дані:
True True False
Розділ: Розгалуження | Рівень складності: середній
-
Дано двоцифрове число. Визначити, яка з його цифр більше: перша (вивести
1
) або друга (вивести2
), або цифри рівні (вивести=
).
Вхідні дані:
45 85 22
Вихідні дані:
2 1 =
Розділ: Розгалуження | Рівень складності: середній
-
Дано натуральне число
n
(1 ≤ n ≤ 9999
), що визначає вартість товару в копійках. Подайте вартість у гривнях і копійках. Якщо у результаті виходить0
копійок, то замість цього значення необхідно записати порожній рядок.
Вхідні дані:
160 1200 2356
Вихідні дані:
1 60 12 23 56
Розділ: Розгалуження | Рівень складності: середній
-
Відомі рік і номер місяця народження людини, а також рік і номер місяця сьогоднішнього дня (січень -
1
і т. д.). Визначити вік людини (число повних років). У разі збігу вказаних номерів місяців вважати, що пройшов повний рік.
Вхідні дані:
1998 3 2018 2
Вихідні дані:
19
Розділ: Розгалуження | Рівень складності: середній
-
Виведіть імена видатних особистостей України, зображених на грошових знаках. Користувач вводить номінал банкноти, а програма виводить значення номіналу і ім’я особи, яка зображена на цій банкноті. Якщо користувач вводить неіснуюче значення номіналу, виводиться відповідне повідомлення.
Вхідні дані:
500 20 8
Вихідні дані:
500, Grigory Skovoroda 20, Ivan Franko No bill.
Розділ: Розгалуження | Рівень складності: середній
-
Уявіть будинок, побудований у футуристичному стилі, в якому є трикутні, прямокутні і круглі кімнати. Щоб швидко обчислити площу житлового приміщення, потрібно написати програму, на вхід якої подаються тип кімнати (трикутник (
triangle
), прямокутник (rectangle
), коло (circle
)) та відповідні параметри, за допомогою яких можна обчислити площу кімнати вказаної форми. Зверніть увагу, що кількість параметрів для обчислення площі для різних фігур є різною. Для числа Пі використовуйте значення3.14
.
Вхідні дані:
triangle 3 4 5
Вихідні дані:
6.0
Розділ: Розгалуження | Рівень складності: середній
-
Напишіть програму для розрахунку індексу маси тіла, який обчислюється за формулою:
індекс = маса / ( зріст * зріст)
. Користувач вводить значення зросту (у метрах) і маси (у кілограмах), а програма обчислює індекс маси тіла і виводить відповідне повідомлення:underweight
(мала маса, індекс менше18.5
),normal weight
(нормальна маса, індекс18.5-24.9
),overweight
(надмірна маса, індекс більше24.9
).
Вхідні дані:
1.79 88 1.90 85
Вихідні дані:
Your body mass index is: 27.46 , that is overweight. Your body mass index is: 23.55 , that is normal weight.
Розділ: Розгалуження | Рівень складності: середній
-
Напишіть програму простого калькулятора, яка зчитує введені користувачем три рядки: перше число, друге число і арифметичну дію, після чого застосовує введену дію до введених числах і виводить результат. Калькулятор повинен підтримувати такі арифметичні дії як:
+
,-
,/
,*
,mod
(залишок від ділення),pow
(піднесення до степеня),div
(цілочисельне ділення). Якщо виконується ділення і друге число дорівнює0
, необхідно виводити рядокDivision by 0!
. Введені числа є дійсними.
Вхідні дані:
2.0 3.0 pow 12.5 0.5 + 4.5 0.0 /
Вихідні дані:
8.0 13.0 Division by 0!
Розділ: Розгалуження | Рівень складності: середній
-
Дано два натуральних числа
n
іm
. Якщо одне з них ділиться на інше без остачі, виведіть1
, інакше виведіть будь-яке інше ціле число.
Вхідні дані:
3 6
Вихідні дані:
1
Розділ: Розгалуження | Рівень складності: середній
-
Дано натуральне число. Визначити, чи є воно двоцифровим.
Вхідні дані:
1 55 123
Вихідні дані:
False True False
Розділ: Розгалуження | Рівень складності: середній
-
Дано трицифрове ціле число. Визначити суму першої і останньої цифр числа і порівняти її із значенням другої цифри числа. Відповідно вивести повідомлення:
>
,<
і=
.
Вхідні дані:
122 121 263
Вихідні дані:
> = <
Розділ: Розгалуження | Рівень складності: середній
-
Напишіть програму, у яку вводяться трицифрове ціле число і цифра. Необхідно визначити, чи входить у число введена цифра.
Вхідні дані:
125 2
Вихідні дані:
True
Розділ: Розгалуження | Рівень складності: середній
-
Дано трицифрове ціле число. Визначити кількість однакових цифр у записі числа і вивести значення цієї кількості.
Вхідні дані:
155 111 478
Вихідні дані:
2 3 0
Розділ: Розгалуження | Рівень складності: середній
-
Трикутник на координатній площині заданий цілочисельними координатами своїх вершин, які не лежать на одній прямій. Користувач вводить координати трьох вершин трикутника (три пари чисел), а програма, відповідно, має вивести
Yes
абоNo
на питання, чи є трикутник прямокутним.
Вхідні дані:
1 7 7 7 1 1
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: середній
-
Напишіть програму, яка отримує на вхід ціле число, і виводить
True
, якщо передане значення потрапляє в інтервал(-15,12] ∪ (14,17) ∪ [19, + ∞)
іFalse
в іншому випадку. Зверніть увагу на різні дужки, які використовуються для позначення інтервалів.
Вхідні дані:
25 -19 12
Вихідні дані:
True False True
Розділ: Розгалуження | Рівень складності: середній
-
За рейтинговою системою оцінка визначається таким чином: якщо сумарний бал учня становить не менш як
90%
від максимального, то виставляється оцінка12
, якщо не нижче за70%
, то виставляється оцінка8
, якщо ж не нижче за50%
, то оцінка5
, у інших випадках - оцінка2
. Визначте оцінку учня, якщо він набравn
балів, а максимальне значення сумарного балу становитьm
.
Вхідні дані:
70 100
Вихідні дані:
8
Розділ: Розгалуження | Рівень складності: середній
-
Потрібно визначити, чи є даний рік високосним. Нагадаємо, що високосними роками вважаються ті роки, порядковий номер яких або кратний
4
, але при цьому не кратний100
, або кратний400
(наприклад,2000
-й рік був високосним, а2100
-й буде невисокосним роком). Програма повинна коректно працювати на числах1900 ≤ n ≤ 3000
. ВиведітьLeap year.
в разі, якщо рік є високосним, іOrdinary year.
у протилежному випадку.
Вхідні дані:
2001 2019 2020
Вихідні дані:
Ordinary year. Ordinary year. Leap year.
Розділ: Розгалуження | Рівень складності: високий
-
Дано чотирицифрове число. Визначити, чи дорівнює сума двох перших його цифр сумі двох його останніх цифр.
Вхідні дані:
1423 2356 1102
Вихідні дані:
True False True
Розділ: Розгалуження | Рівень складності: високий
-
Дано чотирицифрове число. Замінити усі парні цифри числа на символ
*
і вивести число.
Вхідні дані:
2358 2227 1353
Вихідні дані:
*35* ***7 1353
Розділ: Розгалуження | Рівень складності: високий
-
Дано натуральне число
n
(n ≤ 9999
). З’ясувати, чи різні усі чотири цифри цього числа (з урахуванням чотирьох цифр). Наприклад, в числі5623
усі цифри різні, в числі0012
- ні.
Вхідні дані:
1234 1981
Вихідні дані:
True False
Розділ: Розгалуження | Рівень складності: високий
-
Робота світлофора для пішоходів запрограмована таким чином: на початку кожної години протягом трьох хвилин горить зелений сигнал, потім протягом двох хвилин - червоний, а потім протягом трьох хвилин - знову зелений і т. д. Дано ціле число
t
, що означає час в хвилинах, що минув від початку чергової години. Визначити, сигнал якого кольору горить для пішоходів в цей момент.
Вхідні дані:
25 23 26
Вихідні дані:
green red green
Розділ: Розгалуження | Рівень складності: високий
-
Робота світлофора для водіїв запрограмована таким чином: на початку кожної години протягом трьох хвилин горить зелений сигнал, потім протягом однієї хвилини - жовтий, потім протягом двох хвилин - червоний, а далі протягом трьох хвилин - знову зелений і т. д. Дано ціле число
t
, що позначає час у хвилинах, що минув з початку чергової години. Визначити, сигнал якого кольору горить для водіїв в цей момент.
Вхідні дані:
4 3 5
Вихідні дані:
yellow green red
Розділ: Розгалуження | Рівень складності: високий
-
Дано чотирицифрове число. Перевірте, чи є воно паліндромом. Паліндромом називається число, слово або текст, які однаково читаються зліва направо і справа наліво. Наприклад, в нашому випадку, числами-паліндромами будуть:
1221
,4444
,9119
і т. д. Приклади інших цілих чисел-паліндромів, що не відносяться до розв’язуваної задачі:2
,454
,33
,91219
і т. д.
Вхідні дані:
4556 8118
Вихідні дані:
False True
Розділ: Розгалуження | Рівень складності: високий
-
Дано однобайтове десяткове число (у межах
128-255
). Перевірити, чи є двійкове подання десяткового числа паліндромом, з урахуванням зберігання старших нулів у двійковому поданні. Приклад таких десяткових чисел:102
(у двійковому форматі01100110
),129
(у двійковому вигляді10000001
) і т. д.
Вхідні дані:
231 255 178
Вихідні дані:
True True False
Розділ: Розгалуження | Рівень складності: високий
-
Напишіть програму, у якій користувач вводить значення поточної дати: день, місяць і рік (цілі числа), а програма виводить завтрашню дату у форматі:
дд.мм.рррр
.
Вхідні дані:
28 2 2020 31 12 2017 5 7 2019
Вихідні дані:
29.2.2020 1.1.2018 6.7.2019
Розділ: Розгалуження | Рівень складності: високий
-
Напишіть програму, у якій користувач вводить значення поточної дати: день, місяць і рік (цілі числа), а програма виводить вчорашню дату у форматі:
дд.мм.рррр
.
Вхідні дані:
1 3 2018 1 1 2017 1 8 2018
Вихідні дані:
28.2.2018 31.12.2016 31.7.2018
Розділ: Розгалуження | Рівень складності: високий
-
Плитка шоколаду має вигляд прямокутника, розділеного на
n × m
частинок. Плитку шоколаду можна один раз розламати по прямій на дві частини. Визначте, чи можна таким чином відламати від плитки шоколаду шматок, що складається рівно зk
частин. Програма отримує на вхід три числа:n
,m
,k
і повинна вивестиYes
абоNo
.
Вхідні дані:
5 7 1
Вихідні дані:
No
Розділ: Розгалуження | Рівень складності: високий
-
Дано три цілих числа. Упорядкуйте їх у порядку зростання. Програма повинна зчитувати три числа
a
,b
,c
. Далі програма повинна змінювати їх значення так, щоб стали виконані умовиa ≤ b ≤ c
. Резельтатом роботи програми буде виведення трійки чиселa, b, c
в одному рядку. При розв’язуванні задачі не можна використовувати додаткові змінні, тобто єдиною допустимою операцією присвоювання є обмін значень двох змінних типу(a, b) = (b, a)
.
Вхідні дані:
25 78 4
Вихідні дані:
4 25 78
Розділ: Розгалуження | Рівень складності: високий
-
Скласти програму знаходження добутку двох найменших з трьох різних цілих чисел.
Вхідні дані:
4 2 3
Вихідні дані:
6
Розділ: Розгалуження | Рівень складності: високий
-
Визначити максимальну і мінімальну цифри із введеного трицифрового числа і вивести цифри в одному рядку через пропуск. Якщо цифри однакові, то вивести лише одну цифру.
Вхідні дані:
184 244 111
Вихідні дані:
8 1 4 2 1
Розділ: Розгалуження | Рівень складності: високий
-
Провайдер здійснює підключення до Інтернету за таким тарифним планом. Щомісячна абонентська плата становить
a
гривень, і в цю абонентську плату включеноb
гігабайт трафіку. Невитрачені гігабайти в кінці місяця «згорають». Якщо трафік перевищуєb
гігабайт, то кожен гігабайт трафіку понад передплачених коштуєс
гривень. Відомо, що за минулий місяць один з абонентів витративd
гігабайт трафіку. Визначте, у скільки обійшовся йому доступ в Інтернет в минулому місяці (вважаючи, в тому числі і абонентську плату)? Вводяться чотири натуральних числаa
,b
,c
,d
. Всі числа не перевищують100
. Виведіть одне число - суму (у гривнях), яку абонент повинен заплатити за Інтернет.
Вхідні дані:
150 10 12 15
Вихідні дані:
210
Розділ: Розгалуження | Рівень складності: високий
-
Напишіть програму, у якій до введеного числа додаються написи: «гривень» (
hryven
), «гривня» (hryvnia
), «гривні» (hryvni
), згідно з правилами українського правопису.
Вхідні дані:
10001 516 2022
Вихідні дані:
10001 hryvnia 516 hryven 2022 hryvni
Розділ: Розгалуження | Рівень складності: високий
-
Напишіть програму, яка отримує на вхід три цілих числа, по одному числу в рядку, і виводить у три рядки спочатку максимальне, потім мінімальне, після чого число, що залишилося. Вводитися можуть повторювані числа. Використайте лише конструкції розгалуження, без обміну значеннями між двома змінними.
Вхідні дані:
2 55 14
Вихідні дані:
55 2 14
Розділ: Розгалуження | Рівень складності: високий
-
За багато років ув’язнення в’язень замку Іф зробив у стіні прямокутний отвір розміром
d × e
. Замок Іф побудований із цегли, розміромa × b × c
. Визначте, чи зможе в’язень викидати цеглини в море через цей отвір (сторони цегли є паралельними сторонам отвору). Програма отримує на вхід числаa
,b
,c
,d
,e
і повинна вивести словоYes
абоNo
.
Вхідні дані:
1 1 1 1 1
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: високий
-
Шаховий офіцер («слон») ходить по діагоналі. Дано дві різні клітинки шахової дошки, визначте, чи може офіцер потрапити з першої клітини на другу за один хід. Програма отримує на вхід чотири числа від
1
до8
кожне, що задають номер стовпця і номер рядка спочатку для першої клітинки, потім для другої клітинки. Програма повинна вивестиYes
, якщо з першої клітинки ходом офіцера можна потрапити в другу абоNo
в іншому випадку.
Вхідні дані:
3 7 4 5
Вихідні дані:
No
Розділ: Розгалуження | Рівень складності: високий
-
Шахова тура ходить по горизонталі або вертикалі. Дано дві різні клітинки шахової дошки, визначте, чи може тура потрапити з першої клітинки на другу за один хід. Програма отримує на вхід чотири числа від
1
до8
кожне, що задають номер стовпця і номер рядка спочатку для першої клітинки, потім для другої клітинки. Програма повинна вивестиYes
, якщо з першої клітинки ходом тури можна потрапити в другу абоNo
в іншому випадку.
Вхідні дані:
2 2 4 4
Вихідні дані:
No
Розділ: Розгалуження | Рівень складності: високий
-
Шаховий кінь ходить літерою «Г» - на дві клітини по вертикалі в будь-якому напрямку і на одну клітинку по горизонталі, або навпаки. Дано дві різні клітинки шахової дошки, визначте, чи може кінь потрапити з першої клітинки на другу за один хід. Програма отримує на вхід чотири числа від
1
до8
кожне, що задають номер стовпця і номер рядка спочатку для першої клітинки, потім для другої клітинки. Програма повинна вивестиYes
, якщо з першої клітинки ходом коня можна потрапити в другу абоNo
в іншому випадку.
Вхідні дані:
5 5 3 6
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: високий
-
Шаховий ферзь («королева») ходить по діагоналі, горизонталі або вертикалі. Дано дві різні клітинки шахової дошки, визначте, чи може ферзь потрапити з першої клітинки на другу за один хід. Програма отримує на вхід чотири числа від
1
до8
кожне, що задають номер стовпця і номер рядка спочатку для першої клітинки, потім для другої клітинки. Програма повинна вивестиYes
, якщо з першої клітинки ходом ферзя можна потрапити в другу абоNo
в іншому випадку.
Вхідні дані:
3 6 8 1
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: високий
-
Шаховий король ходить по горизонталі, вертикалі і діагоналі, але тільки на 1 клітинку. Дано дві різні клітинки шахової дошки, визначте, чи може король потрапити з першої клітинки на другу за один хід. Програма отримує на вхід чотири числа від
1
до8
кожне, що задають номер стовпця і номер рядка спочатку для першої клітинки, потім для другої клітинки. Програма повинна вивестиYes
, якщо з першої клітинки ходом короля можна потрапити в другу абоNo
в іншому випадку.
Вхідні дані:
1 1 3 3
Вихідні дані:
No
Розділ: Розгалуження | Рівень складності: високий
-
Задані дві клітини шахової дошки. Якщо вони зафарбовані в один колір, то виведіть слово
Yes
, а якщо в різні кольори -No
. Програма отримує на вхід чотири числа від1
до8
кожне, що задають номер стовпця і номер рядка спочатку для першої клітинки, потім для другої клітинки.
Вхідні дані:
1 2 2 2
Вихідні дані:
No
Розділ: Розгалуження | Рівень складності: високий
-
Дано три сторони трикутника
a
,b
,c
. Визначте тип трикутника із заданими сторонами. Виведіть одне з чотирьох слів:rectangular
для прямокутного трикутника,acute
для гострокутного трикутника,obtuse
для тупокутного трикутника абоimpossible
, якщо трикутника з такими сторонами не існує.
Вхідні дані:
4 5 6
Вихідні дані:
acute
Розділ: Розгалуження | Рівень складності: високий
-
Тетянка полюбляє їздити у громадському транспорті, а отримуючи квиток, відразу перевіряє, чи він щасливий. Квиток вважається щасливим, якщо сума перших трьох цифр збігається з сумою останніх трьох цифр номера квитка. Напишіть програму, яка перевірить рівність сум і виведе
Happy
, якщо суми збігаються, іOrdinary
, якщо суми різні. На вхід програмі подається рядок із шести цифр.
Вхідні дані:
156012 122005 045090
Вихідні дані:
Ordinary Happy Happy
Розділ: Розгалуження | Рівень складності: високий
-
У будинку кілька під’їздів. У кожному під’їзді однакова кількість квартир. Квартири нумеруються підряд, починаючи з одиниці. Чи може в деякому під’їзді перша квартира мати номер
x
, а остання - номерy
? Вводяться два натуральних числаx
іy
(x ≤ y
), що не перевищують10000
. Виведіть словоYes
, якщо таке можливо, іNo
у протилежному випадку.
Вхідні дані:
111 15
Вихідні дані:
Yes
Розділ: Розгалуження | Рівень складності: високий
-
Для даного числа
n < 100
необхідно закінчити фразу «На лузі пасеться…» одним з можливих продовжень:n
корів,n
корова,n
корови, правильно обравши закінчення. Вводиться натуральне число. Програма повинна вивести введене числоn
і одне зі слів:koriv
,korova
абоkorovy
. Між числом і словом повинен стояти один пропуск.
Вхідні дані:
5 23 51
Вихідні дані:
5 koriv 23 korovy 51 korova
Розділ: Розгалуження | Рівень складності: високий
-
Дано натуральне число
n
(0 ≤ n ≤ 1000
), яке визначає період піврозпаду радіоактивних атомів, визначений у роках. Необхідно вивести значення періоду піврозпаду, додавши до цього числа відповідно «рік» (rik
), «роки» (roku
), «років» (rokiv
).
Вхідні дані:
34 21 45
Вихідні дані:
34 roku 21 rik 45 rokiv
Розділ: Розгалуження | Рівень складності: високий
2.3. Цикли
Даний розділ містить задачі, розв’язування яких передбачає використання алгоритмів з повторенням (циклів) - алгоритмів, у яких виконання однієї й тієї ж послідовності команд повторюється, поки виконується деяка заздалегідь установлена умова. Ситуація, при якій виконання циклу ніколи не закінчується, називається зацикленням. Слід розробляти алгоритми, що не допускають таких ситуацій, або передбачають можливість виходу із циклу. |
-
Виведіть повідомлення
Hello, Python!
на екранn
разів (n
- ціле число, яке вводить користувач).
Вхідні дані:
3
Вихідні дані:
Hello, Python! Hello, Python! Hello, Python!
Розділ: Цикли | Рівень складності: початковий
-
Дано два цілих числа
a
іb
(a ≤ b
). Виведіть всі числа відa
доb
включно.
Вхідні дані:
1 12
Вихідні дані:
1 2 3 4 5 6 7 8 9 10 11 12
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму-таймер зворотного відліку, яка запитує у користувача кількість секунд
n
, з якої слід починати відлік.
Вхідні дані:
5
Вихідні дані:
5 4 3 2 1 Start!
Розділ: Цикли | Рівень складності: початковий
-
Користувач вводить кількість навчальних предметів
n
, а потім, відповідно, оцінки учня зn
навчальних предметів. Визначте середню оцінку.
Вхідні дані:
5 10 11 9 8 10
Вихідні дані:
9.60
Розділ: Цикли | Рівень складності: початковий
-
Надрукувати у рядку
m
разів числоn
. Числаm
іn
- цілі числа, які вводить користувач у порядкуn
,m
.
Вхідні дані:
10 5
Вихідні дані:
10 10 10 10 10
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для виведення усіх цілих чисел від
20
доn
включно (n > 20
), деn
- ціле число, яке вводить користувач.
Вхідні дані:
25
Вихідні дані:
20 21 22 23 24 25
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для друку цілих чисел від
n
до0
із виведенням біля кожного числа кількості символів#
, що дорівнює значенню числа.
Вхідні дані:
6
Вихідні дані:
6 ###### 5 ##### 4 #### 3 ### 2 ## 1 #
Розділ: Цикли | Рівень складності: початковий
-
Визначити суму всіх чисел від
1
доn
(1 ≤ n ≤ 100
).
Вхідні дані:
100 16 1
Вихідні дані:
5050 136 1
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для побудови шаблону як у вихідних даних за введеним значенням
n
.
Вхідні дані:
9
Вихідні дані:
1 22 333 4444 55555 666666 7777777 88888888 999999999
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для побудови шаблону як у вихідних даних за введеним значенням
n
.
Вхідні дані:
5
Вихідні дані:
***** **** *** ** *
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для побудови шаблону як у вихідних даних за введеним значенням
n
.
Вхідні дані:
5
Вихідні дані:
## # # # # # # # #
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму, яка підраховує додатні і від’ємні числа, а також нулі, введені користувачем, і виводить їхню кількість в один рядок з одним пропуском між ними.
Вхідні дані:
5 12 -45 0 14 0
Вихідні дані:
2 1 2
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму, яка друкує в дному рядку через пропуск усі парні числа від
1
доn
(1 < n ≤ 100
,n
- ціле число, яке вводить користувач). Використайте операторcontinue
.
Вхідні дані:
2 10 7
Вихідні дані:
2 2 4 6 8 10 2 4 6
Розділ: Цикли | Рівень складності: початковий
-
Надрукувати всі непарні двоцифрові числа, у яких остання цифра дорівнює
n
- ціле число, яке вводить користувач.
Вхідні дані:
5 1 0
Вихідні дані:
15 25 35 45 55 65 75 85 95 11 21 31 41 51 61 71 81 91 10 20 30 40 50 60 70 80 90
Розділ: Цикли | Рівень складності: початковий
-
Надрукувати всі цілі числа від
a
доb
включно, кратні деякому числуc
. Числаa
,b
,c
- цілі числа, які вводить користувач.
Вхідні дані:
20 50 3
Вихідні дані:
21 24 27 30 33 36 39 42 45 48
Розділ: Цикли | Рівень складності: початковий
-
Дано натуральне ціле додатнє число
n
. Визначити кількість цифр в ньому.
Вхідні дані:
12367832 142 0
Вихідні дані:
8 3 1
Розділ: Цикли | Рівень складності: початковий
-
Надрукувати квадрати усіх цілих чисел від
1
доn
включно (значенняn
вводиться з клавіатури користувачем).
Вхідні дані:
10
Вихідні дані:
1 4 9 16 25 36 49 64 81 100
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для друку чисел від
0
доn
включно і виведення в один рядок через один пропуск (n
- ціле число, яке вводить користувач).
Вхідні дані:
9 3 15
Вихідні дані:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Розділ: Цикли | Рівень складності: початковий
-
Надрукувати таблицю відповідності між масою у фунтах і масою в кілограмах для значень
n
фунтів (1
фунт =453
г) у вигляді таблиці.
Вхідні дані:
5
Вихідні дані:
1 0.45 2 0.91 3 1.36 4 1.81 5 2.27
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму, яка друкує цілі числа від
1
доn
(1 < n ≤ 1000
) з такою умовою: для чисел кратних3
виводить*3*
замість числа, для чисел кратних5
друкує*5*
, а для чисел, які кратні3
і5
одночасно, повідомлення буде*35*
.
Вхідні дані:
15
Вихідні дані:
1 2 *3* 4 *5* *3* 7 8 *3* *5* 11 *3* 13 14 *35*
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму, яка зчитує цілі числа, введені користувачем, по одному числу
n
в рядку. Для кожного введеного числа необхідно перевірити: якщо число менше10
, то пропускаємо це число; якщо число більше100
, то припиняємо зчитувати числа; в інших випадках вивести це число в окремому рядку.
Вхідні дані:
15 4 11 123
Вихідні дані:
15 11
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для знаходження тих чисел із діапазону
1 ≤ n ≤ 1000
(числоn
вводить користувач), які кратні7
і5
, і виведення таких чисел в один рядок.
Вхідні дані:
1
Вихідні дані:
35 70 105 140 175 210 245 280 315 350 385 420 455 490 525 560 595 630 665 700 735 770 805 840 875 910 945 980
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для створення таблиці множення (від
1
до10
) для введеного цілого числаn
.
Вхідні дані:
3
Вихідні дані:
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30
Розділ: Цикли | Рівень складності: початковий
-
Знайти суму
1
2
+ 2
2
+ 3
2
+ … + n
2
при заданому користувачем значенні цілого числаn
.
Вхідні дані:
3 2 6
Вихідні дані:
14 5 91
Розділ: Цикли | Рівень складності: початковий
-
При заданому користувачем значенні цілого числа
n ≥ 2
обчислити вираз1 × 2 + 2 × 3 + … + (n - 1) × n
.
Вхідні дані:
6 5 3
Вихідні дані:
70 40 8
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму для обчислення виразу
1/2 + 2/3 + 3/4 + … + n/(n + 1)
із заданимn
, яке вводить користувач (n > 0
).
Вхідні дані:
5 10 3
Вихідні дані:
3.55 7.98 1.92
Розділ: Цикли | Рівень складності: початковий
-
Визначити суму всіх трицифрових чисел, які діляться націло на
n
, деn
- ціле число, яке вводить користувач.
Вхідні дані:
125 440 600 1000
Вихідні дані:
3500 1320 600 0
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму, в якій користувач вводить цілі числа. Якщо буде введено ціле число
n
, програма має завершити своє виконання повідомленнямDone
. Спочатку користувач вводить числоn
, а потім решту чисел.
Вхідні дані:
5 67 112 14 5
Вихідні дані:
Done
Розділ: Цикли | Рівень складності: початковий
-
Пароль доступу до комп’ютера зберігається у змінній
n
- ціле число, яке вводить користувач. Напишіть програму, яка запитує пароль в користувача. У разі введення користувачем неправильного пароля на екран має виводитися повідомленняError
, після чого дії повинні повторюватися до введення правильного значення. При успішній аутентифікації в ситемі має з’явитися повідомленняDone
.
Вхідні дані:
12345
Вихідні дані:
111 Error 45 Error 12345 Done
Розділ: Цикли | Рівень складності: початковий
-
Дано
n
чисел. Визначте, скільки з них дорівнюють нулю, і виведіть цю кількість. Спочатку вводиться числоn
, потім вводиться рівноn
цілих чисел.
Вхідні дані:
4 0 23 11 0
Вихідні дані:
2
Розділ: Цикли | Рівень складності: початковий
-
Дано
n
цілих чисел. Кожне число вводиться в окремому рядку. Обчисліть суму чисел.
Вхідні дані:
10 0 1 2 3 4 5 6 7 8 9
Вихідні дані:
45
Розділ: Цикли | Рівень складності: початковий
-
Система відслідковування помилок в комп’ютерній програмі збирає помилки щодня протягом
n
днів. Напишіть програму, яка знаходить загальну кількість помилок, зібраних протягомn
днів. Користувач вводить кількість днів роботи системи відслідковування помилокn
і вводить кількість помилокm
щодня (n
іm
- цілі числа).
Вхідні дані:
6 45 101 67 43 21 0
Вихідні дані:
277
Розділ: Цикли | Рівень складності: початковий
-
Біг на біговій доріжці дозволяє спалювати
n
калорій за хвилину. Напишіть програму, щоб відобразити кількість калорій, спалених протягом10
,15
,20
,25
і30
хвилин.
Вхідні дані:
4.2
Вихідні дані:
42.0 63.0 84.0 105.0 126.0
Розділ: Цикли | Рівень складності: початковий
-
Напишіть програму, яка виводить таблицю цілих значень температури не більше
t
(t ≥ 0
) в градусах Цельсія (C
) і відповідні значення за шкалою Фаренгейта (F
) (F = 9*C/5 + 32
).
Вхідні дані:
10
Вихідні дані:
0 32.00 1 33.80 2 35.60 3 37.40 4 39.20 5 41.00 6 42.80 7 44.60 8 46.40 9 48.20 10 50.00
Розділ: Цикли | Рівень складності: початковий
-
Припускаючи, що рівень океану зараз зростає приблизно на
n
міліметрів на рік. Напишіть програму, яка відображатиме значення щорічного росту рівня океану протягом наступнихm
років.
Вхідні дані:
1.6 5
Вихідні дані:
1 1.60 2 3.20 3 4.80 4 6.40 5 8.00
Розділ: Цикли | Рівень складності: початковий
-
Надрукувати таблицю значень
1, 2, … n
доларів США у переведенні на гривні за поточним курсомk
(значення курсу вводиться з клавіатури).
Вхідні дані:
5 27.85
Вихідні дані:
1 27.85 2 55.70 3 83.55 4 111.40 5 139.25
Розділ: Цикли | Рівень складності: початковий
-
Намалювати сходинки як у вихідних даних, використовуючи символи пропуску і решітки
#
, коли на вхід програми подається ціле числоn
- кількість сходинок.
Вхідні дані:
4
Вихідні дані:
# ## ### ####
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму для побудови шаблону як у вихідних даних за введеними значеннями
n
іm
.
Вхідні дані:
6 3
Вихідні дані:
0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму для побудови шаблону як у вихідних даних за введеним значенням
n
.
Вхідні дані:
7
Вихідні дані:
1 2 3 4 5 6 7 2 3 4 5 6 7 3 4 5 6 7 4 5 6 7 5 6 7 6 7 7
Розділ: Цикли | Рівень складності: середній
-
Дано два цілих числа
a
іb
. Виведіть всі числа відa
доb
включно, в порядку зростання, якщоa < b
, або в порядку спадання у іншому випадку.
Вхідні дані:
12 1
Вихідні дані:
12 11 10 9 8 7 6 5 4 3 2 1
Розділ: Цикли | Рівень складності: середній
-
Дано
n
чисел. Перше число на входіn
, після чого заданоn
цілих чисел. Необхідно порахувати кількість нулів серед введених користувачем чисел.
Вхідні дані:
6 2 0 9 4 0 5
Вихідні дані:
2
Розділ: Цикли | Рівень складності: середній
-
Надрукувати усі двоцифрові числа, сума квадратів цифр яких ділиться на
n
націло. Числоn
- ціле число, яке вводить користувач.
Вхідні дані:
100
Вихідні дані:
59 68 69 78 79 86 87 88 89 95 96 97 98 99 100
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму, яка друкує усі непарні числа з інтервалу
[1, b]
, деb
- ціле число, яке вводить користувач. Не можна використовувати конструкцію розгалуження.
Вхідні дані:
15 8
Вихідні дані:
51 3 5 7 9 11 13 15 1 3 5 7
Розділ: Цикли | Рівень складності: середній
-
За даним цілим додатнім числом
n
обчислітьn!
- значення факторіалу цього числа.
Вхідні дані:
3 4 1
Вихідні дані:
6 24 1
Розділ: Цикли | Рівень складності: середній
-
Дано ціле число
n
, яке вводить користувач. Необхідно обчислити значення виразу1! +2! +3! + … + n!
.
Вхідні дані:
3 4 5
Вихідні дані:
9 33 152
Розділ: Цикли | Рівень складності: середній
-
Користувач вводить
n
-цифрове ціле число. Необхідно вивести числа, утворені із введеного, відкиданням останньої цифри з кожного попереднього числа.
Вхідні дані:
138945
Вихідні дані:
13894 1389 138 13 1
Розділ: Цикли | Рівень складності: середній
-
Програма отримує на вхід послідовність цілих невід’ємних чисел, кожне число вводиться в окремому рядку. Послідовність завершується числом
0
, при зчитуванні якого програма повинна закінчити свою роботу і вивести кількість членів послідовності (не рахуючи завершального числа0
).
Вхідні дані:
8 4 6 0
Вихідні дані:
3
Розділ: Цикли | Рівень складності: середній
-
Визначте суму усіх елементів послідовності, яка завершується числом
0
. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення).
Вхідні дані:
2 5 3 0
Вихідні дані:
10
Розділ: Цикли | Рівень складності: середній
-
Визначте середнє значення всіх елементів послідовності, яка завершується числом
0
. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення).
Вхідні дані:
3 4 5 0
Вихідні дані:
4.0
Розділ: Цикли | Рівень складності: середній
-
Визначте кількість парних елементів в послідовності, яка завершується числом
0
. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використвоується як ознака її закінчення).
Вхідні дані:
3 6 9 8 0
Вихідні дані:
2
Розділ: Цикли | Рівень складності: середній
-
Послідовність складається з натуральних чисел і завершується числом
0
. Визначте значення найбільшого елемента послідовності. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення).
Вхідні дані:
5 3 8 0
Вихідні дані:
8
Розділ: Цикли | Рівень складності: середній
-
Автогонщик в перший день ралі проїхав
d
км. Кожен наступний день він збільшував пробіг на10%
від пробігу попереднього дня. Через скільки днів автоспортивних змагань сумарний пробіг автомобіля за всі дні перевищитьt
км і яке значення сумарного пробігу? Введення даних користувачем відбувається в порядку:d
,t
.
Вхідні дані:
10 200
Вихідні дані:
211.14 km, 33 days
Розділ: Цикли | Рівень складності: середній
-
Визначити кількість трицифрових чисел, сума цифр яких дорівнює деякому цілому значенню
n
, яке вводить користувач.
Вхідні дані:
27 2 20
Вихідні дані:
1 3 36
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму, яка виводить усі трицифрові числа, сума цифр яких дорівнює деякому значенню
n
, яке вводить користувач.
Вхідні дані:
4
Вихідні дані:
112 121 130 202 211 220 301 310 400
Розділ: Цикли | Рівень складності: середній
-
Дано ціле число
n
. З чисел1, 4, 9, 16, 25, …
надрукувати ті, які не перевищуютьn
.
Вхідні дані:
25
Вихідні дані:
1 4 9 16 25
Розділ: Цикли | Рівень складності: середній
-
Для обчислення числа Пі можна використовувати наступне наближення (ряд Лейбніца):
Pi = 4/1 - 4/3 + 4/5 - 4/7 + ...
. Обчисліть першіn
членів цього ряду.
Вхідні дані:
10
Вихідні дані:
3.0418396189294032
Розділ: Цикли | Рівень складності: середній
-
Дано цілі числа
a
іb
. Знайти їх добуток, не використовуючи операцію множення.
Вхідні дані:
7 3
Вихідні дані:
21
Розділ: Цикли | Рівень складності: середній
-
Дано цілі числа
a
іb
. Обчислитиa
b
, не використовуючи операцію піднесення до степеня.
Вхідні дані:
4 2
Вихідні дані:
16
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму, яка зчитує числа (по одному в рядку) до тих пір, поки сума введених чисел не буде дорівнювати
0
і відразу після цього виводить суму квадратів всіх введених чисел. Гарантується, що в якийсь момент сума введених чисел дорівнюватиме0
, після цього зчитування продовжувати не потрібно.
Вхідні дані:
2 -4 6 -17 12 10 -9
Вихідні дані:
670
Розділ: Цикли | Рівень складності: середній
-
Одноклітинна амеба кожні
3
години ділиться на2
клітини. Визначити, скільки клітин буде черезt
годин, якщо спочатку була одна амеба.
Вхідні дані:
6 9 24
Вихідні дані:
4 8 256
Розділ: Цикли | Рівень складності: середній
-
Учні 5 класу вели щоденники спостереження за погодою і щодня записували денну температуру. Знайдіть найнижчу температуру за весь час спостережень. Якщо температура знижувалась нижче
-15
градусів, необхідно вивестиYes
, у протилежному випадкуNo
. Програма отримує на вхід кількість днів, протягом яких проводилося спостереженняn
(1 ≤ n ≤ 31
), потім для кожного дня вводиться температура.
Вхідні дані:
3 -20 2 -18
Вихідні дані:
-20 Yes
Розділ: Цикли | Рівень складності: середній
-
Старшокласники брали участь у вікторині з інформатики. Необхідно було відповісти на
20
питань. Переможцем вікторини вважається учасник, який правильно відповів на найбільшу кількість запитань. На скільки питань переможець відповів правильно? Якщо є учасники вікторини, які не змогли дати правильну відповідь ні на одне із запитань, виведітьYes
, інакше виведітьNo
. Гарантується, що є учасники, які правильно відповіли хоча б на одне запитання. Программа отримує на вхід число учасників вікториниn
(1 ≤ n ≤ 50
), потім для кожного учасника вводиться кількість питань, на які отримано правильну відповідь.
Вхідні дані:
5 10 15 7 0 16
Вихідні дані:
16 Yes
Розділ: Цикли | Рівень складності: середній
-
Камера спостереження реєструє в автоматичному режимі швидкість проїжджаючих повз неї автомобілів, округляючи значення швидкості до цілих чисел. Необхідно визначити середню зареєстровану швидкість всіх автомобілів. Якщо швидкість хоча б одного автомобіля була більше
60
км/год, виведітьYes
, інакше виведітьNo
. Програма отримує на вхід число зафіксованих автомобілівn
(1 ≤ n ≤ 30
), потім вказуються їх швидкості. Значення швидкості не може бути менше1
і більше300
. Програма повинна спочатку вивести середню швидкість з точністю до одного знака після десяткової крапки, потімYes
абоNo
.
Вхідні дані:
3 50 45 65
Вихідні дані:
53.3 Yes
Розділ: Цикли | Рівень складності: середній
-
Камера спостереження реєструє в автоматичному режимі швидкість проїжджаючих повз неї автомобілів, округляючи значення швидкості до цілих чисел. Необхідно визначити: різницю максимальної і мінімальної швидкостей автомобілів; кількість автомобілів, швидкість яких не перевищувала
30
км/год. Програма отримує на вхід число зафіксованих автомобілівn
(1 ≤ n ≤ 30
), потім вказуються їх швидкості. Значення швидкості не може бути менше1
і більше300
. Програма повинна спочатку вивести різницю максимальної та мінімальної швидкостей автомобілів, потім кількість автомобілів, швидкість яких не перевищувала30
км/год.
Вхідні дані:
3 15 25 140
Вихідні дані:
125 2
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму, яка виводить двовимірну квадратну таблицю
n x n
чисел (n
- ціле число, яке вводить користувач). По головній діагоналі таблиці (від лівого верхнього значення до нижнього правого значення) мають розміщуватися0
, вище головної діагоналі розміщуються1
, а нижче --1
. Для гарного відображення таблиці при виведенні її значень використовуйте символ табуляції\t
.
Вхідні дані:
5
Вихідні дані:
0 1 1 1 1 -1 0 1 1 1 -1 -1 0 1 1 -1 -1 -1 0 1 -1 -1 -1 -1 0
Розділ: Цикли | Рівень складності: середній
-
За даним натуральним числом
n
(n ≤ 9
) виведіть драбинку зn
сходинок як у вихідних даних,n
-а сходинка складається з чисел від1
доn
без пропусків.
Вхідні дані:
5
Вихідні дані:
1 12 123 1234 12345
Розділ: Цикли | Рівень складності: середній
-
Напишіть програму, на вхід якої безперервно (у циклі) подаються введені користувачем дані. При введенні будь-яких даних, окрім цілих числел, виводиться повідомлення про помилку за допомогою генерування винятку
ValueError
. Як тільки ввели ціле число, виводиться повідомленняTrue
і відбувається вихід з програми.
Вхідні дані:
Python 2.5 @ 42
Вихідні дані:
This is not a integer number. Try again... This is not a integer number. Try again... This is not a integer number. Try again... True
Розділ: Цикли | Рівень складності: середній
-
Дано натуральне число
n
. Визначити, чи є воно автоморфним числом. Примітка. Автоморфне число - число, квадрат якого рівний останнім розрядами квадрата цього числа:5
-25
,6
-36
,25
-625
.
Вхідні дані:
9376 26
Вихідні дані:
True False
Розділ: Цикли | Рівень складності: високий
-
Дано натуральне число
n
. Надрукуйте всіn
-значні непарні натуральні числа в порядку спадання.
Вхідні дані:
1 2
Вихідні дані:
9 7 5 3 1 99 97 95 93 91 89 87 85 83 81 79 77 75 73 71 69 67 65 63 61 59 57 55 53 51 49 47 45 43 41 39 37 35 33 31 29 27 25 23 21 19 17 15 13 11
Розділ: Цикли | Рівень складності: високий
-
Дано два натуральних числа
a
іb
. Розробити програму для визначення найбільшого спільного дільника (НСД) заданих чисел. Використайте алгоритм Евкліда .
Вхідні дані:
8 2
Вихідні дані:
2
Розділ: Цикли | Рівень складності: високий
-
Напишіть програму, яка допомагає знайти число (НСК - найменше спільне кратне) двох чисел. Програма повинна зчитувати два додатних цілих числа
a
іb
(кожне число вводиться на окремому рядку) і виводити найменше число, яке ділиться на обидва цих числа без залишку.НСК(a, b) = |ab| / НСД(a, b)
, деНСД(a, b)
- найбільший спільний дільник чиселa, b
.
Вхідні дані:
8 5
Вихідні дані:
40
Розділ: Цикли | Рівень складності: високий
-
Дано цілі числа
a
іb
(a > b
). Визначити результати цілочисельного діленняa
наb
і залишку від діленняa
наb
, не використовуючи стандартні операції цілочисельного ділення і залишку від ділення. Результати необхідно вивести в одному рядку, спочатку результат цілочисельного ділення, а потім залишок від ділення, розділені одним пропуском.
Вхідні дані:
16 5
Вихідні дані:
3 1
Розділ: Цикли | Рівень складності: високий
-
Дано натуральне число
n
. Визначити, чи є різниця його максимальної та мінімальної цифр парним числом.
Вхідні дані:
2134389 1234
Вихідні дані:
True False
Розділ: Цикли | Рівень складності: високий
-
Є монотонна послідовність, в якій кожне натуральне число
k
зустрічається рівноk
разів:1, 2, 2, 3, 3, 3, 4, 4, 4, 4, ...
. За введеним натуральним числомn
виведіть першіn
членів цієї послідовності.
Вхідні дані:
5
Вихідні дані:
1 2 2 3 3
Розділ: Цикли | Рівень складності: високий
-
Написати програму для обчислення суми цифр цілого числа
n
. Програма має враховувати, що на вхід може подаватися ціле від’ємне число.
Вхідні дані:
-123 1 412098
Вихідні дані:
6 1 24
Розділ: Цикли | Рівень складності: високий
-
Внесок на депозитний рахунок у банку становить
d
гривень. Щорічно він збільшується наr
відсотків, після чого дробова частина копійок відкидається. Визначте, через скільки років внесок складе не меншеb
гривень. Програма отримує на вхід три натуральних числа:d
,r
,b
.
Вхідні дані:
1000 14 2500
Вихідні дані:
7
Розділ: Цикли | Рівень складності: високий
-
Напишіть програму для отримання рядка Фібоначчі від
0
доn
, деn
- ціле число. Послідовність Фібоначчі - це серія чисел0, 1, 1, 2, 3, 5, 8, 13, 21, ...
. Кожне наступне число знайдено шляхом додавання двох номерів перед ним.
Вхідні дані:
50
Вихідні дані:
1 1 2 3 5 8 13 21 34
Розділ: Цикли | Рівень складності: високий
-
За введеним користувачем цілим числом
n
визначтеn
-е число Фібоначчі.
Вхідні дані:
9 3 5
Вихідні дані:
34 2 5
Розділ: Цикли | Рівень складності: високий
-
Дано натуральне число
n
. Визначте, яким за рахунком числом Фібоначчі воно є. Якщоn
не є числом Фібоначчі, виведіть значення-1
.
Вхідні дані:
11 8
Вихідні дані:
-1 6
Розділ: Цикли | Рівень складності: високий
-
Послідовність складається з натуральних чисел і завершується числом
0
. Визначте, скільки елементів цієї послідовності більше попереднього елемента. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення).
Вхідні дані:
4 3 6 8 0
Вихідні дані:
2
Розділ: Цикли | Рівень складності: високий
-
Послідовність складається з цілих чисел і закінчується номером
0
. Визначте, скільки елементів цієї послідовності більше наступного елемента. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення). Гарантується, що послідовність містить як мінімум два числа.
Вхідні дані:
2 9 1 4 3 0
Вихідні дані:
2
Розділ: Цикли | Рівень складності: високий
-
Послідовність складається з натуральних чисел і завершується числом
0
. Визначте, скільки елементів цієї послідовності рівні її найбільшому елементу. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення).
Вхідні дані:
3 8 10 2 10 7 0
Вихідні дані:
2
Розділ: Цикли | Рівень складності: високий
-
Послідовність складається з різних натуральних чисел і завершується числом
0
. Визначте значення другого за величиною елемента в цій послідовності. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення). Гарантується, що в послідовності є хоча б два елементи.
Вхідні дані:
1 4 3 2 0
Вихідні дані:
3
Розділ: Цикли | Рівень складності: високий
-
Послідовність складається з натуральних чисел і завершується числом
0
. Визначте індекс найбільшого елемента послідовності. Якщо найбільших елементів декілька, виведіть індекс першого з них. Нумерація елементів починається з нуля. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення).
Вхідні дані:
4 2 6 9 5 0
Вихідні дані:
3
Розділ: Цикли | Рівень складності: високий
-
Дано послідовність ненульових цілих чисел, яка завершується нулем (саме число
0
в послідовність не входить, а використовується як ознака її закінчення). Необхідно обчислити скільки разів в цій послідовності змінюється знак (наприклад, в послідовності10, -4, 12, 56, -4
знак змінюється3
рази).
Вхідні дані:
-5 -3 10 6 -4 7 -1 0
Вихідні дані:
4
Розділ: Цикли | Рівень складності: високий
-
Дано послідовність натуральних чисел, що завершується числом
0
. Визначте найбільше число елементів цієї послідовності, що йдуть підряд один за одним, і дорівнюють один одному. Вводиться послідовність цілих чисел, що закінчується числом0
(саме число0
в послідовність не входить, а використовується як ознака її закінчення). Додаткове завдання: виведіть найбільш повторюваний елемент послідовності.
Вхідні дані:
1 5 5 4 3 9 9 9 7 0
Вихідні дані:
3
Розділ: Цикли | Рівень складності: високий
-
Скласти програму для графічного зображення подільності чисел від
1
доn
(значенняn
вводиться з клавіатури). У кожному рядку треба надрукувати чергове число і стільки символів+
, скільки є дільників у цього числа.
Вхідні дані:
5
Вихідні дані:
1+ 2++ 3++ 4+++ 5++
Розділ: Цикли | Рівень складності: високий
-
Дано натуральне число
n
. Визначити номер деякої заданої цифриd
в ньому, відраховуючи від кінця числа. Якщо такої цифри немає, відповіддю має бути число0
; якщо таких цифр в числі кілька, повинен бути визначений номер позиції найправішої з них.
Вхідні дані:
1233572 3
Вихідні дані:
4
Розділ: Цикли | Рівень складності: високий
-
Вводиться ціле число
n
. Вивести число, зворотне по порядку складових його цифр.
Вхідні дані:
125 123456789 1
Вихідні дані:
521 987654321 1
Розділ: Цикли | Рівень складності: високий
-
Назвемо число паліндромом, якщо воно не змінюється при перестановці його цифр у зворотному порядку. Напишіть програму, яка за введеним користувачем числом
n
(1 ≤ n ≤ 100000
) виводить числа-паліндроми, які не перевищуютьn
.
Вхідні дані:
50
Вихідні дані:
1 2 3 4 5 6 7 8 9 11 22 33 44
Розділ: Цикли | Рівень складності: високий
-
Назвемо число паліндромом, якщо воно не змінюється при перестановці його цифр у зворотному порядку. Напишіть програму, яка за введеною користувачем кількістю
n
(1 ≤ n ≤ 100000
) виводить кількість таких чисел-паліндромів, які не перевищуютьn
.
Вхідні дані:
1 50 10
Вихідні дані:
1 13 9
Розділ: Цикли | Рівень складності: високий
-
Дано два чотирицифрових числа
a
іb
. Виведіть усі чотирицифрові числа на відрізку відa
доb
, які є паліндромами (читаються однаково як зліва направо, так і справа наліво).
Вхідні дані:
1400 2200
Вихідні дані:
1441 1551 1661 1771 1881 1991 2002 2112
Розділ: Цикли | Рівень складності: високий
-
Вводяться два чотирицифрових числа
a
іb
. Виведіть у порядку зростання всі чотирицифрові числа в інтервалі відa
доb
, запис яких містить тільки три однакові цифри.
Вхідні дані:
1400 1600
Вихідні дані:
1411 1444 1511 1555
Розділ: Цикли | Рівень складності: високий
-
Для настільної гри використовуються картки з номерами від
1
доn
. Одна картка загубилася. Знайдіть її, знаючи номери решти карток. Користувач вводить ціле числоn
, даліn
-1 номери решти карток (різні числа від1
доn
). Програма повинна вивести номер втраченої картки.
Вхідні дані:
5 3 4 1 5
Вихідні дані:
2
Розділ: Цикли | Рівень складності: високий
-
Оленка вчиться ділити з залишком. Вона взяла деяке число, розділила його на
2
і відкинула залишок. Те, що вийшло, розділила на3
та знову відкинула залишок. Отримане число вона розділила на4
, відкинула залишок і отримала числоk
. Яке число могла вибрати Оленка спочатку? Вводиться натуральне числоk
, що не перевершує1000
. Необхідно вивести усі можливі числа, які могла б вибрати спочатку Оленка, за зростанням, розділяючи їх пропусками.
Вхідні дані:
1
Вихідні дані:
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
Розділ: Цикли | Рівень складності: високий
-
Скільки всього натуральних чисел складаються з не менш ніж
a
цифр і не більше, ніжb
цифр? Вводяться два довільних натуральних числаa
іb
в окремих рядках. Виведіть одне число: кількість чисел, що володіють зазначеними властивостями.
Вхідні дані:
1 2 1 1
Вихідні дані:
99 9
Розділ: Цикли | Рівень складності: високий
-
Дано натуральне число
n
(n ≤ 1000
). Скласти програму для перевірки чи ділиться ціле число на кожну з його цифр без залишку. Надрукувати такі числа в інтервалі від10
доn
в порядку зростання, через пропуск.
Вхідні дані:
100 40 20
Вихідні дані:
11 12 15 22 24 33 36 44 48 55 66 77 88 99 11 12 15 22 24 33 36 11 12 15
Розділ: Цикли | Рівень складності: високий
-
В одній країні використовуються грошові купюри номіналом в
1
,2
,4
,8
,16
,32
і64
. Дано натуральне числоn
. Якою найменшою кількістю таких грошових знаків можна виплатити сумуn
(вказати кількість кожної з використовуваних для виплати купюр)? Передбачається, що є досить велика кількість купюр всіх номіналів.
Вхідні дані:
165
Вихідні дані:
2 (64) 1 (32) 1 (4) 1 (1)
Розділ: Цикли | Рівень складності: високий
-
Задумали два натуральних числа
x
іy
(x, y ≤ 1000
). Щоб відгадати ці числа, називають суму цих чиселa
і їх добутокb
. Відгадайте ці числа і виведіть їх в порядку зростання, розділяючи пропуском.
Вхідні дані:
12 20 6 8
Вихідні дані:
2 10 2 4
Розділ: Цикли | Рівень складності: високий
-
Надрукувати всі непарні числа з інтервалу
[a, b]
(a ≥ b
). Розглянути варіант програми без використання інструкції розгалуження.
Вхідні дані:
10 1
Вихідні дані:
9 7 5 3 1
Розділ: Цикли | Рівень складності: високий
-
Надрукувати всі парні числа з інтервалу
[a, b]
(a ≤ b
). Розглянути варіант програми без використання інструкції розгалуження.
Вхідні дані:
1 20
Вихідні дані:
2 4 6 8 10 12 14 16 18 20
Розділ: Цикли | Рівень складності: високий
2.4. Робота з рядками
Даний розділ містить задачі, в яких передбачається обробка рядкових величин. |
-
Напишіть програму, яка приймає від користувача рядок, і відображає цей рядок у верхньому і нижньому регістрах.
Вхідні дані:
My favourite language is Python
Вихідні дані:
MY FAVOURITE LANGUAGE IS PYTHON my favourite language is python
Розділ: Робота з рядками | Рівень складності: початковий
-
Скласти програму, яка запитує назву баскетбольної команди і повторює її на екрані зі словами:
This is a champion!
.
Вхідні дані:
Atlanta Hawks
Вихідні дані:
Atlanta Hawks! This is a champion!
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка виводить на екран рядок з
5
-ти копій останніх двох символів введеного користувачем рядка (довжина введеного рядка повинна бути не менше2
).
Вхідні дані:
emu lion
Вихідні дані:
mumumumumu ononononon
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано натуральне число. Знайти число, утворене з вхідного приписуванням до нього такого ж числа.
Вхідні дані:
125 6 1
Вихідні дані:
125125 66 11
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано натуральне число. Знайти число, що отримується при прочитанні його цифр справа наліво.
Вхідні дані:
98 10010010 1235
Вихідні дані:
89 01001001 5321
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано рядок. Змініть регістр символів в цьому рядку так, щоб перша буква кожного слова була великою, а інші літери - малими.
Вхідні дані:
A scandal in Bohemia The adventure of the Blue Carbuncle The Boscombe valley mystery
Вихідні дані:
A Scandal In Bohemia The Adventure Of The Blue Carbuncle The Boscombe Valley Mystery
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано натуральне число. Знайти число, що отримується в результаті приписування по двійці в початок і кінець запису вхідного числа.
Вхідні дані:
45 1 0
Вихідні дані:
2452 212 202
Розділ: Робота з рядками | Рівень складності: початковий
-
Користувач вводить рядок і набір символів. Напишіть програму, яка перевіряє чи починається рядок із зазначених символів.
Вхідні дані:
wireless router route
Вихідні дані:
False
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано рядок. Визначити порядковий номер першої вказаної букви. Якщо такої літери немає, вивести нуль.
Вхідні дані:
euro r
Вихідні дані:
3
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано слово. З’ясуйте, чи слово починається і закінчується на одну і ту ж букву? Регістр літер не враховувати.
Вхідні дані:
Africa Oceania
Вихідні дані:
True False
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка отримує три рядки: прізвище, ім’я і по батькові особи, а потім виводить на екран ініціали та прізвище.
Вхідні дані:
Hansson David Heinemeier
Вихідні дані:
D.H.Hansson
Розділ: Робота з рядками | Рівень складності: початковий
-
Скласти програму, яка визначає, який з двох введених рядків довший і друкує його. Якщо рядки рівні, вивести повідомлення
equally
.
Вхідні дані:
Linus Guido
Вихідні дані:
equally
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано натуральне число. Знайти число, що отримується з вхідного перестановкою його першої та останньої цифр. Врахувати випадок введення одноцифрового числа.
Вхідні дані:
1467 5 11 12
Вихідні дані:
7461 5 11 21
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано два слова. Скласти програму, яка визначає, чи перше слово починається на ту ж букву, на яку закінчується друге слово.
Вхідні дані:
Python Ruby
Вихідні дані:
False
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано натуральне число. Знайти число, що отримується видаленням з вхідного усіх зазначених цифр.
Вхідні дані:
34547 4
Вихідні дані:
357
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка зчитує значення
a
іb
і виводить вірш, в якому замістьa
іb
використовуються ці значення.
Вхідні дані:
A B
Вихідні дані:
A and B sat in the tree. A had fallen, B was stolen. What's remaining in the tree?
Розділ: Робота з рядками | Рівень складності: початковий
-
Користувач вводить рядок, в якому можуть бути пристуні пропуски. Визначити, чи є рядок паліндромом, тобто таким, який однаково читається як справа наліво, так і зліва направо. Для літер регістр не враховувати. Приклади рядків-паліндромів:
racecar
,10201
,Ada
,Never odd or even
.
Вхідні дані:
Ada Able was I ere I saw Elba 10501 Origin
Вихідні дані:
True True True False
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано два рядки, що можуть містити пропуски. Виведіть слово
Yes
, якщо перший рядок є підрядком другого рядка або словоNo
в іншому випадку.
Вхідні дані:
Lords of the World But who shall dwell in these worlds if they be inhabited? Are we or they Lords of the World? And how are all things made for man?
Вихідні дані:
Yes
Розділ: Робота з рядками | Рівень складності: початковий
-
З клавіатури вводиться два цілих числа
a
іb
. Напишіть програму, яка порівнює ці числа і в залежності від результату порівняння виводить на екран потрібний вираз, наприклад:3 < 5
або3 = 3
або3 > 2
. Командуprint
для виведення результату дозволяється використовувати лише один раз.
Вхідні дані:
10 15
Вихідні дані:
10 < 15
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, щоб перевірити, з яких символів складається рядок, введений користувачем: лише з цифр, лише з букв, або з букв і цифр.
Вхідні дані:
abc Street122 23
Вихідні дані:
Your message includes letters only. Your message includes numbers and letters. Your message includes numbers only.
Розділ: Робота з рядками | Рівень складності: початковий
-
Для введеного єдиного символу, перевірте, чи є він цифрою. Під час розв’язування задачі не можна використовувати функції для роботи з рядками. Програма повинна вивести слово
Yes
, якщо символ є цифрою, або словоNo
.
Вхідні дані:
7 A h
Вихідні дані:
Yes No No
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, щоб отримати новий рядок з двох заданих введених рядків (складаються мінімум з двох символів кожен), розділених пробілом, і обміном перших двох символів у кожному із вхідних рядків.
Вхідні дані:
liopping shst
Вихідні дані:
shopping list
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано рядок. Замініть у цьому рядку всі цифри
4
на словоFour
.
Вхідні дані:
4 Christmases Fantastic 4 The Nutcracker and the 4 Realms
Вихідні дані:
Four Christmases Fantastic Four The Nutcracker and the Four Realms
Розділ: Робота з рядками | Рівень складності: початковий
-
Дано рядок. Замініть у цьому рядку усі входження певної літери англійського алфавіту, яку вводить користувач у нижньому регістрі, на відповідну літеру у верхньому регістрі. Спочатку вводиться літера, а потім рядок, у якому треба виконати заміну.
Вхідні дані:
a "Curiouser and curiouser!" cried Alice (she was so much surprised that for the moment she quite forgot how to speak good English).
Вихідні дані:
"Curiouser And curiouser!" cried Alice (she wAs so much surprised thAt for the moment she quite forgot how to speAk good English).
Розділ: Робота з рядками | Рівень складності: початковий
-
Користувач вводить рядок, у якому чергуються цифри та інші символи. На початку і у кінці рядка цифри відсутні. Напишіть програму, яка друкує усі символи введеного рядка у тому ж порядку, але без цифр.
Вхідні дані:
H1e2l3l4o5w6o7r8l9d i1m3p4o9r0t4 6t7h8i9s
Вихідні дані:
Helloworld import this
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, щоб у введеному користувачем рядку виконати обмін місцями першого та останнього символів.
Вхідні дані:
Hong Kong Antarctica
Вихідні дані:
gong KonH antarcticA
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка змінює регістр введеного єдиного символу, тобто переводить великі літери у малі, а малі - у великі, інші символи не змінює.
Вхідні дані:
a F 5
Вихідні дані:
A f 5
Розділ: Робота з рядками | Рівень складності: початковий
-
Вводиться додатне ціле трицифрове число. Знайти суму цифр числа. Операціями ділення націло і остача від ділення користуватися не можна.
Вхідні дані:
179
Вихідні дані:
17
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка виводить перше слово у рядку. Слово - це послідовність непробільних символів, обмежена пропусками або межами рядка. Вхідний рядок містить довільну послідовність символів. Програма повинна вивести перше слово цього рядка.
Вхідні дані:
Stranger Things
Вихідні дані:
Stranger
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка виводить останнє слово у рядку. Слово – це послідовність непробільних символів, обмежена пропусками або межами рядка. Вхідний рядок містить довільну послідовність символів. Програма повинна вивести останнє слово цього рядка.
Вхідні дані:
Holmes & Watson
Вихідні дані:
Watson
Розділ: Робота з рядками | Рівень складності: початковий
-
Напишіть програму, яка по введеному числу
n
від1
до9
виводить на екранn
пінгвінів з відповідним номером - число від1
доn
. Зображення одного пінгвіна має розмір5 x 9
символів, між двома сусідніми пінгвінами також є порожній (з пропусків) стовпець. Дозволяється вивести порожній стовпець після останнього пінгвіна. Для спрощення малювання скопіюйте пінгвіна із вихідних даних. Врахуйте, що виведення на екран виконується порядково, а не «попінгвінно».
Вхідні дані:
4
Вихідні дані:
_~_ _~_ _~_ _~_ (o o) (o o) (o o) (o o) / V \ / V \ / V \ / V \ /( 1 )\ /( 2 )\ /( 3 )\ /( 4 )\ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок, який, можливо, містить пропуски. «Витягніть» з цього рядка всі символи, які є цифрами і складіть з них новий рядок.
Вхідні дані:
3+3=6 2 * 3 = 6
Вихідні дані:
336 236
Розділ: Робота з рядками | Рівень складності: середній
-
Для доступу до власного акаунту на сайті соціальної мережі користувач ввів логін і пароль. Так як була увімкнена двофакторна авторизація, на його телефон прийшло повідомлення з рядком цифр та інформацією як отримати код доступу. У повідомленні йшлося: «Кожну цифру, яка більша
5
, необхідно націло розділити на2
, а потім з утвореної послідовності цифр видалити усі парні числа». Який код повинен ввести користувач для успішної авторизації? Напишіть програму, на вхід якої вводиться рядок цифр із повідомлення, а програма повинна надрукувати правильний код доступу.
Вхідні дані:
5763 1977
Вихідні дані:
33 33
Розділ: Робота з рядками | Рівень складності: середній
-
Виведіть усі символи
ASCII
з кодами відn
(n > 32
) доm
(m < 127
) і їх коди в наступному вигляді: «символ код».
Вхідні дані:
101 106
Вихідні дані:
e 101 f 102 g 103 h 104 i 105 j 106
Розділ: Робота з рядками | Рівень складності: середній
-
У рядку є кілька слів, розділених одним або декількома пропусками. Потрібно прибрати з тексту зайві пропуски: два і більше пропусків поспіль, а також всі пропуски на початку і в кінці рядка. На вхід програмі подається рядок, що складається не більше ніж з
255
символів. Надрукувати новий рядок.
Вхідні дані:
Beyond the green swelling hills of the Mittel Land rose mighty slopes of forest up to the lofty steeps of the Carpathians themselves
Вихідні дані:
Beyond the green swelling hills of the Mittel Land rose mighty slopes of forest up to the lofty steeps of the Carpathians themselves
Розділ: Робота з рядками | Рівень складності: середній
-
Дано вираз, який має один з наступних виглядів:
'A+B'
,'A-B'
або'A*B'
, деA
іB
- цілі числа від0
до1000000000
. Визначте значення цього виразу.
Вхідні дані:
3*3 50-49 33+16
Вихідні дані:
9 1 49
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок, який, можливо, містить пропуски. Переведіть усі символи цього рядка в нижній регістр.
Вхідні дані:
Hearts of Three, by Jack London
Вихідні дані:
hearts of three, by jack london
Розділ: Робота з рядками | Рівень складності: середній
-
Виведіть поспіль, без пропусків, усі символи, що лежать в таблиці
ASCII
між двома заданими символами. Програма отримує на вхід два символу, кожен в окремому рядку і повинна вивести рядок, що починається першим із заданих символів і закінчується другим.
Вхідні дані:
A F 0 9
Вихідні дані:
ABCDEF 0123456789
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок, що складається з слів, розділених пропусками. Визначте кількість слів у рядку.
Вхідні дані:
Events happened very rapidly with Francis Morgan that late spring morning
Вихідні дані:
11
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок. Визначити число пропусків в ньому.
Вхідні дані:
After his hunger and thirst were satisfied, Robinson thought he would try to find another dwelling place
Вихідні дані:
16
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму для друку таблиці індексів і значень символів у введеному користувачем рядку.
Вхідні дані:
Ruby
Вихідні дані:
0 R 1 u 2 b 3 y
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, яка друкує введений користувачем рядок у верхньому регістрі для перших
n
символів у рядку.
Вхідні дані:
It was early on a fine summer's day, near the end of the eighteenth century, when a young man, of genteel appearance, journeying towards the north-east of Scotland 36
Вихідні дані:
IT WAS EARLY ON A FINE SUMMER'S DAY, near the end of the eighteenth century, when a young man, of genteel appearance, journeying towards the north-east of Scotland
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, щоб отримати рядок із введеного користувачем рядка, де всі входження першого символа у рядку змінилися на рядок
*HIDE*
, за винятком першого.
Вхідні дані:
Endless clouds drifted back and forth, blotting out the RED SUN
Вихідні дані:
Endl*HIDE*ss clouds drift*HIDE*d back and forth, blotting out th*HIDE* R*HIDE*D SUN
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму для розрахунку довжини рядка без використання функції
len()
.
Вхідні дані:
pythonguide.pp.ua
Вихідні дані:
17
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, яка по введеному числу
n
від1
до9
виводить на екранn
прапорців з відповідними номерами. Зображення одного прапорця має розмір4 x 4
символи, між двома сусідніми прапорцями також є порожній (з пропусків) стовпець. Дозволяється вивести порожній стовпець після останнього прапорця. Усередині кожного прапорця повинен бути записаний його номер - число від1
доn
.
Вхідні дані:
3
Вихідні дані:
+___ +___ +___ |1 / |2 / |3 / |__\ |__\ |__\ | | |
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок, що складається з рівно двох слів, розділених пропуском. Надрукуйте новий рядок, у якому позиції першого та другого слова змінені (друге слово друкується спочатку). У завданні не можна використовувати цикли і вказівку «якщо».
Вхідні дані:
Linux Ubuntu Richard Stallman
Вихідні дані:
Ubuntu Linux Stallman Richard
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, яка отримує рядок і обчислює кількість цифр і букв у ньому.
Вхідні дані:
Andromeda, M 31, NGC 224
Вихідні дані:
Letters 13 Digits 5
Розділ: Робота з рядками | Рівень складності: середній
-
Дано послідовність символів, що має вигляд
p1*p2*...*pn
, деpn
- цифра. Обчисліть значення виразу.
Вхідні дані:
2*5*7
Вихідні дані:
70
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок і один символ. Напишіть програму для підрахунку кількості входження символа в рядок. У випадку, якщо введений символ є літерою, великі і малі букви розрізняються.
Вхідні дані:
Poirot shook his head energetically. He was now arranging his moustache with exquisite care. w
Вихідні дані:
3
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок і певний номер
n
символа у ньому. Напишіть програму для видаленняn
-го символу з не порожнього рядка. Цикли і вказівку «якщо» для розв’язування задачі використовувати не можна.
Вхідні дані:
Poirot stopped for a moment, and gazed sorrowfully over the beautiful expanse of park, still glittering with morning dew. 27
Вихідні дані:
Poirot stopped for a moment and gazed sorrowfully over the beautiful expanse of park, still glittering with morning dew.
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму для перевірки чи є введена літера голосною або приголосною.
Вхідні дані:
F e
Вихідні дані:
F is a consonant e is a vowel
Розділ: Робота з рядками | Рівень складності: середній
-
Вводиться додатне дійсне число, надрукуйте його першу цифру справа від десяткової точки.
Вхідні дані:
1.79 100.89 6.045
Вихідні дані:
7 8 0
Розділ: Робота з рядками | Рівень складності: середній
-
При заданому користувачем значенні цілого числа
n ≥ 2
обчислити суму1 x 2 + 2 x 3 + ... + (n - 1) x n
. Відповідь виведіть у вигляді обчисленого виразу і його значення в точності, як показано у вихідних даних.
Вхідні дані:
2 4
Вихідні дані:
1*2=2 1*2+2*3+3*4=20
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму для видалення символів, які мають непарні значення індексів у введеному користувачем рядку.
Вхідні дані:
monkey kangaroo
Вихідні дані:
mne knao
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок одноцифрових чисел без пропусків. Напишіть програму для обчислення суми цих чисел.
Вхідні дані:
1239 88 01
Вихідні дані:
15 16 1
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, яка зчитує рядок, введений користувачем, що містить дату у формі
mm/dd/yyyy
. Програма має вивести на екран дату у виглядіМісяць Число, Рік
.
Вхідні дані:
12/29/2022 03/04/2025
Вихідні дані:
December 29, 2022 March 04, 2025
Розділ: Робота з рядками | Рівень складності: середній
-
Вводиться рядок. Необхідно видалити з нього всі пропуски. Після цього визначити, чи є він паліндромом, тобто однаково пишеться як зліва направо, так і справа наліво. Програма має вивести
Yes
, якщо слово є паліндромом, абоNo
у протилежному випадку.
Вхідні дані:
123 621 Never odd or even
Вихідні дані:
No Yes
Розділ: Робота з рядками | Рівень складності: середній
-
Код Морзе - це код, в якому кожна буква алфавіту (наприклад, англійського), кожна цифра та різні знаки пунктуації представляються набором крапок і дефісів. Напишіть програму, яка перетворює рядок, введений користувачем, в код Морзе (таблицю значення кодів Морзе знайдіть в Інтернеті).
Вхідні дані:
W 9 , Python :)
Вихідні дані:
.-- ----. --..-- .--.-.--....----. ---...-.--.-
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, яка зчитує рядок, введений користувачем, та визначає у ньому: кількість великих літер, кількість малих літер, кількість символів пропуску.
Вхідні дані:
By Red Flower Bagheera meant fire, only no creature in the jungle will call fire by its proper name.
Вихідні дані:
Upper 4 Lower 76 Spaces 18
Розділ: Робота з рядками | Рівень складності: середній
-
Визначити, чи є введене слово ідентифікатором, тобто починається воно з літери англійського алфавіту (малої або великої) або знака підкреслення і не містить інших символів, крім букв англійського алфавіту (в будь-якому регістрі), цифр і знака підкреслення.
Вхідні дані:
_max 123var myClass#2
Вихідні дані:
Yes No No
Розділ: Робота з рядками | Рівень складності: середній
-
Вводиться рядок. Потрібно видалити з нього повторювані символи і всі пропуски.
Вхідні дані:
aa a a b b c dd e
Вихідні дані:
a abcde
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок, у якому містяться слова, знаки пунктуації, причому усі слова записуються разом і перша літера кожного слова є великою. Напишіть програму, яка виводить рядок, у якому введені слова розділені пропусками.
Вхідні дані:
TheOldSeaDogAtTheAdmiralBenbow
Вихідні дані:
The Old Sea Dog At The Admiral Benbow
Розділ: Робота з рядками | Рівень складності: середній
-
Знайти у рядку зазначений підрядок і замінити його на новий. Рядок, підрядок для заміни та новий рядок вводить користувач. Розгляньте випадок заміни усіх підрядків. Також необхідно врахувати випадок відсутності підрядка, який необхідно замінити (вивести
is impossible
).
Вхідні дані:
12 45 32 567 32 109 32 0 12 45 32 567 32 109 33 -1
Вихідні дані:
12 45 0 567 0 109 is impossible
Розділ: Робота з рядками | Рівень складності: середній
-
Напишіть програму, яка дає користувачеві можливість вводити рядок і відображає символ, який найчастіше з’являється у рядку та кількість його входжень. Якщо у рядку є кілька таких символів, необхідно врахувати лише перший з них.
Вхідні дані:
Black Dog Appears and Disappears I Go to Bristol
Вихідні дані:
a 5 пропуск 3
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок і певний символ. Напишіть програму, яка друкує місця розташування (індекси) першої та останньої появи введеного символа. Якщо символ зустрічається лише один раз, то виведіть його індекс. Якщо символ не зустрічається, надрукуйте
missing
. У цьому завданні не можна використовувати цикли.
Вхідні дані:
9965 GNU 6 9965 GNU 9 9965 GNU N 9965 GNU A
Вихідні дані:
2 0 1 6 missing
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок і певний символ. Напишіть програму, яка друкує індекс розташування другої появи введеного символа у рядку. Якщо рядок містить введений символ лише один раз, то надрукуйте
-1
, а якщо рядок не містить шуканого символа, то надрукуйте-2
.
Вхідні дані:
The morning's sun rose clear and resplendent, touching the foamy waves into a network of ruby-tinted light. s
Вихідні дані:
14
Розділ: Робота з рядками | Рівень складності: середній
-
Користувач вводить рядок і певний символ, який устрічається у рядку щонайменше двічі. Напишіть програму, яка видалить із введеного рядка перше і останнє входження символа, а також всі символи між ними.
Вхідні дані:
We left in pretty good time, and came after nightfall to Klausenburgh. Here I stopped for the night at the Hotel Royale. u
Вихідні дані:
We left in pretty good time, and came after nightfall to Klargh. Here I stopped for the night at the Hotel Royale.
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок. Якщо в цьому рядку певний символ зустрічається тільки один раз, виведіть його індекс. Якщо він зустрічається два і більше разів, виведіть індекс його першої і останньої появи. Якщо символ в цьому рядку не зустрічається, нічого не виводьте.
Вхідні дані:
In the centre of the room, clamped to an upright easel, stood the full-length portrait of a young man of extraordinary personal beauty, and in front of it, some little distance away, was sitting the artist himself, Basil Hallward, whose sudden disappearance some years ago caused, at the time, such public excitement and gave rise to so many strange conjectures. m
Вихідні дані:
24 337
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок нулів та одиниць. Напишіть програму для знаходження найдовшої неперервної послідовності нулів у рядку.
Вхідні дані:
1001 100001001010 1000001
Вихідні дані:
2 4 5
Розділ: Робота з рядками | Рівень складності: середній
-
Вводиться рядок. Необхідно визначити в ньому відсотки малих і великих букв.
Вхідні дані:
Hello, Guido!
Вихідні дані:
61.54 15.38
Розділ: Робота з рядками | Рівень складності: середній
-
Дано два слова. Складіть програму, що визначає чи можна чи ні з букв слова
A
скласти словоB
. Програма має враховувати регістр літер введених слів.
Вхідні дані:
Python not Ruby Buy
Вихідні дані:
Yes No
Розділ: Робота з рядками | Рівень складності: середній
-
В операційній системі
Windows
шлях до файлу складається з імені логічного диска і назв каталогів, в яких знаходиться цей файл. Частини шляху розділені знаками\
(зворотний слеш). Потрібно розбити заданий шлях до файлу на частини - ім’я диска і назви каталогів. Програма повинна вивести ім’я диска і назви всіх каталогів, що становлять шлях. Кожен елемент виводиться в окремому рядку. Використовувати модулі не можна.
Вхідні дані:
C:\Python36\python.exe
Вихідні дані:
C: Python36 python.exe
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок і символ, який зустрічається у рядку принаймні два рази. Напишіть програму, яка надрукує новий рядок (на основі введеного користувачем), у якому послідовність символів, що містяться між першою і останньою появою введеного символа, буде записана у зворотному порядку.
Вхідні дані:
Complex is better than complicated. a
Вихідні дані:
Complex is better thacilpmoc nated.
Розділ: Робота з рядками | Рівень складності: середній
-
Користувачем вводиться рядок і буква, що зустрічається у рядку принаймні три рази. Напишіть програму, яка замінить кожне входження букви у нижньому регістрі на цю ж букву у верхньому регістрі, за винятком першого і останнього.
Вхідні дані:
There should be one-- and preferably only one --obvious way to do it. n
Вихідні дані:
There should be one-- aNd preferably oNly one --obvious way to do it.
Розділ: Робота з рядками | Рівень складності: середній
-
Дано рядок. Розріжте його на дві «рівні» частини (якщо довжина рядка непарна, помістіть центральний символ у першу частину, так що перша частина міститиме на один символ більше, ніж друга частина). Тепер надрукуйте новий рядок, у якому перша та друга половини обмінялися місцями (не використовуйте вказівку «якщо» для цього завдання).
Вхідні дані:
country town
Вихідні дані:
trycoun wnto
Розділ: Робота з рядками | Рівень складності: середній
-
Дано послідовність символів довжини
n
(n ≥ 1
). Перевірити баланс круглих дужок в цьому виразі (кожна відкита дужка має свою закриту дужку). Наприклад, при введенні виразу(()) ()
програма повинна повідомити про правильність розстановки дужок (True
), а при введенні виразу ((()) - про неправильність (False
). Напишіть програму, яка може перевіряти баланс дужок в арифметичних виразах, тексті і т. д.
Вхідні дані:
(3y + 21)(12 - (x + 5)) (61x + 15(y + 2)
Вихідні дані:
True False
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок, що складається з
n
цифр (тобто одноцифрових чисел), між якими стоїтьn
-1 знаків операцій, кожна з яких може бути або+
, або-
. Обчисліть значення цього виразу. Програма має надрукувати результат обчислення цього виразу.
Вхідні дані:
5-3+1 6+3-2
Вихідні дані:
3 7
Розділ: Робота з рядками | Рівень складності: високий
-
Капітан Флінт закопав скарб на Острові скарбів. Він залишив опис, як знайти скарб. Опис складається з рядків виду:
North 5
, де перше слово - одне зNorth
,South
,East
,West
, а друге число - кількість кроків, яку потрібно пройти в цьому напрямку. Напишіть програму, яка за описом шляху до скарбу визначає точні координати скарбу, вважаючи, що початок координат знаходиться на початку шляху, вісьOX
спрямована на схід, вісьOY
- на північ. Програма отримує на вхід послідовність рядків зазначеного виду, а введення завершується рядком зі словомTreasure!
. Програма має вивести два цілих числа в один рядок з пропуском між ними - координати скарбу.
Вхідні дані:
North 5 East 3 South 1 Treasure!
Вихідні дані:
3 4
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму, на вхід якої даються чотири числа
a
,b
,c
іd
, кожне у своєму рядку. Програма повинна вивести фрагмент таблиці множення для всіх чисел відрізка[a; b]
на всі числа відрізка[c; d]
. Числаa
,b
,c
іd
є натуральними і не перевищують10
,a ≤ b
,c ≤ d
. Дотримуйтесь формату виведення як у вихідних даних. Для поділу елементів всередині рядка використовуйте\t
- символ табуляції. Зауважте, що лівим стовпчиком і верхнім рядком виводяться самі числа із заданих відрізків.
Вхідні дані:
1 4 2 5
Вихідні дані:
2 3 4 5 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму для друку літери
A
за допомогою введеного користувачем символа.
Вхідні дані:
*
Вихідні дані:
*** * * * * ***** * * * * * *
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму для друку літери
M
за допомогою введеного користувачем символа.
Вхідні дані:
%
Вихідні дані:
% % % % %% %% % % % % % % % % %
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок, що є параграфом в тексті. Текст необхідно відформатувати так, щоб довжина кожного рядка не перевищувала числа
m
, слова при цьому не розривати. На вхід програмі спочатку подається числоm
(0 < m ≤ 255
). У наступному рядку знаходиться вхідний текст. Довжина слів в ньому не перевищуєm
, слова розділені рівно одним пропуском. Виведіть розбиття цього тексту на рядки довжиною не більше ніжm
символів (слово переноситься на наступний рядок тільки якщо в поточному рядку його розмістити вже неможливо). Новий рядок не повинен починатися з пропуску.
Вхідні дані:
10 The Wonderful Wizard of Oz
Вихідні дані:
The Wonderful Wizard of Oz
Розділ: Робота з рядками | Рівень складності: високий
-
Послідовності із символів
0
і1
називаються бінарними. Вони широко застосовуються в інформатиці. Одне з незручностей бінарних послідовностей – їх важко запам’ятовувати. Для вирішення цієї проблеми був запропонований такий спосіб їх стиснення: переглядаючи послідовність зліва направо, виконується заміна1
наa
,01
наb
,001
наc
, ...,00000000000000000000000001
наz
. Напишіть програму, яка допоможе автоматизувати такий процес заміни.
Вхідні дані:
1111 1001101 10000101
Вихідні дані:
aaaa acab aeb
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму, яка зчитує рядок, кодує її запропонованим алгоритмом і виводить закодовану послідовність. Кодування повинно враховувати регістр символів. Правила кодування: групи однакових символів початкового рядка замінюються на цей символ і кількість його повторень в цій позиції рядка. Наприклад: рядок
aaaabbbсaa
кодується вa4b3с1a2
.
Вхідні дані:
aaaabbbcaa abc Hello
Вихідні дані:
a4b3c1a2 a1b1c1 H1e1l2o1
Розділ: Робота з рядками | Рівень складності: високий
-
На вхід програми подається два рядка
A
іB
, що складаються з малих букв англійського алфавіту. Виведіть кількість входжень рядкаB
в рядокA
.
Вхідні дані:
aaaa a ababada abc abababa aba
Вихідні дані:
4 0 3
Розділ: Робота з рядками | Рівень складності: високий
-
Користувач вводить рядок цифр без пропусків. Необхідно написати програму, яка «розіб’є» це число на трійки цифр справа наліво комами. Якщо число містить менше трьох цифр, то воно виводиться без змін.
Вхідні дані:
4567 123 2348906
Вихідні дані:
4,567 123 2,348,906
Розділ: Робота з рядками | Рівень складності: високий
-
Дано слово, що складається лише з малих англійських літер. Визначте, яку найменшу кількість літер потрібно дописати до цього слова праворуч так, щоб воно стало паліндромом.
Вхідні дані:
NASA Mars Webb
Вихідні дані:
1 3 2
Розділ: Робота з рядками | Рівень складності: високий
-
Користувачем вводиться рядок, що містить натуральні цілі числа і слова. Необхідно сформувати новий рядок лише з чисел, розділених комою і пропуском, що містяться у введеному рядку.
Вхідні дані:
District 9 (2009) - IMDb 8 Reviews 1301 user | 478 critic | Popularity 511 R | 1h 52min | Sci-Fi, Thriller | 13 August 2009 (Ukraine)
Вихідні дані:
9, 2009, 8 1301, 478, 511 1, 52, 13, 2009
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок. Знайдіть в цьому рядку найдовше слово і виведіть його. Якщо в рядку кілька слів однакової максимальної довжини, виведіть перше з них.
Вхідні дані:
The Lord of the Rings: The Two Towers (Adventure, Drama, Fantasy) [2002]. The Matrix (Action, Sci-Fi) [1999]. WALL-E (Animation, Adventure, Family) [2008].
Вихідні дані:
Adventure Matrix Animation
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму, яка переводить ціле число
N
(1 ≤ |N| < 1000000000
) з системи числення з основоюK
(2 ≤ K ≤ 36
) в систему числення з основоюM
(2 ≤ M ≤ 36
). Перший вхідний рядок містить запис числаN
в системі числення з основоюK
. Другий рядок містить числаK
іM
, розділені пропуском. Програма повинна вивести запис числаN
в системі числення з основоюM
.
Вхідні дані:
125 8 16 CD6 16 3 -AB 16 10
Вихідні дані:
55 11111201 -171
Розділ: Робота з рядками | Рівень складності: високий
-
Дано текст і відомо, що він шифрується наступним чином. Спочатку визначається кількість букв
k
в найдовшому слові (словом називається безперервна послідовність англійських букв, слова один від одного відокремлюються будь-якими іншими символами, довжина слова не перевищує20
символів). Потім кожна англійська літера замінюється на букву, що стоїть в алфавіті наk
букв раніше (алфавіт вважається циклічним, тобто перед буквоюA
стоїть букваZ
). Інші символи залишаються незмінними. Малі літери при цьому залишаються малими, а великі - великими. Розшифруйте введений текст.
Вхідні дані:
Njzxwxgd Bpihjbdid, rgtpidg du iwt Gjqn egdvgpbbxcv apcvjpvt.
Вихідні дані:
Yukihiro Matsumoto, creator of the Ruby programming language.
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок, який, можливо, містить пропуски. Визначте кількість слів у цьому рядку. Слово - це кілька поспіль букв англійського алфавіту (як великих, так і малих). При розв’язуванні цього завдання не можна користуватися списками.
Вхідні дані:
Do you play any sports? Yes, I like to play basketball.
Вихідні дані:
10
Розділ: Робота з рядками | Рівень складності: високий
-
У заданому рядку знайти найкоротше слово, вивести це слово і його розмір у символах. Слова можуть бути розділені пропусками, декількома пропусками, знаками пунктуації, цифрами тощо. Якщо найкоротших слів є кілька, вивести лише перше з них. Рядок слів гарантовано закінчується крапкою.
Вхідні дані:
He lives in house number 4. Now is better than never. Tom Tells the Truth.
Вихідні дані:
He 2 is 2 Tom 3
Розділ: Робота з рядками | Рівень складності: високий
-
Шифр Цезаря полягає в заміні кожного символу вхідного рядка на символ, що знаходиться на кілька позицій ліворуч або праворуч його в алфавіті. Напишіть програму, яка шифрує текст шифром Цезаря. Використовуваний алфавіт - пропуск і малі літери англійського алфавіту. На першому рядку вказується зміщення шифрування: ціле число. Додатне число відповідає зміщенню вправо. На другому рядку вказується непорожній рядок-фраза для шифрування. Результатом роботи програми має бути записана зашифрована послідовність.
Вхідні дані:
3 i am caesar 26 abc 1 Python
Вихідні дані:
lcdpcfdhvdu abc qzuipo
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму, яка переводить натуральне число
N
(1 ≤ N ≤ 3999
) з римської системи числення в десяткову. Вхідний рядок містить числоN
, записане в римській системі числення. Програма повинна вивести десятковий запис числаN
.
Вхідні дані:
MMMCMXCIX IV XXI
Вихідні дані:
3999 4 21
Розділ: Робота з рядками | Рівень складності: високий
-
Кодування довжин послідовностей - це базовий алгоритм стиснення даних. Реалізуйте один з найпростіших його варіантів. На вхід алгоритму подається рядок, що містить символи англійського алфавіту. Цей рядок розбивається на групи однакових символів, що йдуть підряд («серії»). Кожна серія характеризується символом і кількістю повторень. Саме ця інформація і записується в код: спочатку пишеться довжина серії повторюваних символів, потім сам символ. У серій довжиною в один символ кількість повторень не записується.
Вхідні дані:
aaabccccCCaB aabcccddffffffffff
Вихідні дані:
3ab4c2CaB 2ab3c2d10f
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок, який може містити пропуски. Визначте, чи є цей рядок паліндромом, за умови, що великі і малі літери не розрізняються, а всі символи, які не є буквами, повинні бути пропущені. Виведіть слово
Yes
, якщо слово є паліндромом і словоNo
, якщо ні. Довжина вхідного рядка може бути до100000
символів. При виконанні цього завдання не можна використовувати списки.
Вхідні дані:
Was.it.a.rat.I.saw? Rio-de-Janeiro! a+b=b+a
Вихідні дані:
Yes No Yes
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок, що містить одне або більше цілих чисел від
0
до1000000000
, розділених знаками+
або-
. Розрахуйте значення цього виразу.
Вхідні дані:
12-5+3 26-14+2-1 7-0+3
Вихідні дані:
10 13 10
Розділ: Робота з рядками | Рівень складності: високий
-
Дано рядок, який може міститити пропуски. Визначте, яка буква англійського алфавіту (або які букви) в цьому рядку зустрічається найчастіше. Великі і малі літери вважаються однаковими, а інші символи, які не є буквами, не враховуються. Програма повинна вивести в першому рядку всі букви, які зустрічаються найчастіше в заданому рядку. Виводити букви необхідно у верхньому регістрі, в алфавітному порядку (додатково), без пропусків. У другому рядку виведіть єдине число - скільки разів у цьому рядку зустрічаються ці літери. При виконанні цього завдання не можна користуватися вкладеними циклами. Вхідний рядок повинен оброблятися за один прохід.
Вхідні дані:
Project Gutenberg EBook of The jungle book, by Rudyard Kipling
Вихідні дані:
EO 6
Розділ: Робота з рядками | Рівень складності: високий
-
У мережі Інтернет кожному комп’ютері присвоюється
IP
-адреса (чотирьохбайтовий код, який прийнято записувати у вигляді чотирьох чисел, кожне з яких може приймати значення від0
до255
і між якими ставлять крапку). Ось приклади правильнихIP
-адрес:192.168.0.1
,255.0.255.255
,10.10.0.2
. Програма отримує на вхід рядок з довільних символів і якщо цей рядок є коректним записомIP
-адреси, виведітьYes
, інакше виведітьNo
.
Вхідні дані:
C.E.R.N 192.168.0.200 256.0.0.255
Вихідні дані:
No Yes No
Розділ: Робота з рядками | Рівень складності: високий
-
Напишіть програму, яка визначає, чи є у введеному рядку десяткові цифри, і виводить найбільше число, яке можна скласти з цих цифр. Провідних нулів у числі бути не повинно (за винятком числа
0
, запис якого містить рівно одну цифру). Гарантовано, що у рядку є принаймні одна цифра. Вхідний рядок містить довільні символи. Програма повинна вивести найбільше число, яке можна скласти з присутніх в рядку десяткових цифр.
Вхідні дані:
Release Date: July 27, 2008 Last Updated: February 22, 2018
Вихідні дані:
872200 822210
Розділ: Робота з рядками | Рівень складності: високий
2.5. Списки і кортежі
У даному розділі розглядаються задачі на використання списків і кортежів. |
-
Створіть список на основі введеної послідовності цілих чисел і надрукуйте другу половину списку як у вихідних даних.
Вхідні дані:
7 2 1 0 4 2 5 7 2 1 0 4 2
Вихідні дані:
0 4 2 5 0 4 2
Розділ: Списки і кортежі | Рівень складності: початковий
-
Створіть список на основі введеної послідовності цілих чисел і надрукуйте його елементи таким чином: два останні елементи переміщені з кінця в початок списку без зміни їх початкового порядку.
Вхідні дані:
4 10 2 9 4 7 3
Вихідні дані:
7 3 4 10 2 9 4
Розділ: Списки і кортежі | Рівень складності: початковий
-
Збережіть назви мов світу, які вводяться в одному рядку через пропуск, у списку. Простежте за тим, щоб елементи у списку не зберігались в алфавітному порядку. Відсортуйте список в алфавітному порядку і виведіть його елементи в рядку через пропуск.
Вхідні дані:
Ukrainian French Bulgarian Norwegian Latvian
Вихідні дані:
Bulgarian French Latvian Norwegian Ukrainian
Розділ: Списки і кортежі | Рівень складності: початковий
-
Збережіть назви мов світу, які вводяться в одному рядку через пропуск, у списку. Простежте за тим, щоб елементи у списку не зберігались в алфавітному порядку. Відсортуйте список в порядку протилежному алфавітному і виведіть його елементи в рядку через пропуск.
Вхідні дані:
Ukrainian French Bulgarian Norwegian Latvian
Вихідні дані:
Ukrainian Norwegian Latvian French Bulgarian
Розділ: Списки і кортежі | Рівень складності: початковий
-
Збережіть назви мов світу, які вводяться в одному рядку через пропуск, у списку. Виведіть елементи списку в зворотному порядку в рядку через пропуск.
Вхідні дані:
Ukrainian French Bulgarian Norwegian Latvian
Вихідні дані:
Latvian Norwegian Bulgarian French Ukrainian
Розділ: Списки і кортежі | Рівень складності: початковий
-
Виведіть елементи даного списку в зворотному порядку, не змінюючи сам список.
Вхідні дані:
2 6 1 7 9
Вихідні дані:
9 7 1 6 2
Розділ: Списки і кортежі | Рівень складності: початковий
-
Виведіть всі елементи списку з парними індексами. Вводиться список чисел. Всі числа списку знаходяться на одному рядку.
Вхідні дані:
1 2 3 4 5
Вихідні дані:
1 3 5
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму, яка роздруковує лише ті елементи введеного списку, що менше введеного значення n. Список містить унікальні значення.
Вхідні дані:
2 7 11 3 8 90 144 15 5 94
Вихідні дані:
2 7 11 3 8 90 15 5
Розділ: Списки і кортежі | Рівень складності: початковий
-
Виведіть всі парні елементи списку. Вводиться список чисел. Всі числа списку знаходяться на одному рядку.
Вхідні дані:
1 2 2 3 3 3 4 4 4 4
Вихідні дані:
2 2 4 4 4 4
Розділ: Списки і кортежі | Рівень складності: початковий
-
Знайдіть кількість додатних елементів у введеному списку. Вводиться список чисел. Всі числа списку знаходяться на одному рядку.
Вхідні дані:
2 -4 5 6 -3
Вихідні дані:
3
Розділ: Списки і кортежі | Рівень складності: початковий
-
Виведіть всі елементи списку з непарними індексами. Вводиться список чисел, елементи якого розділені комами без пропусків. Всі числа списку знаходяться на одному рядку. Необхідно вивести список в одному рядку і елементи списку мають бути розділені комами без пропусків.
Вхідні дані:
1,2,3,4,5,6,7,8,9
Вихідні дані:
1,3,5,7,9
Розділ: Списки і кортежі | Рівень складності: початковий
-
Вводиться список чисел. Всі числа списку знаходяться на одному рядку. Виведіть ті його елементи, які зустрічаються в списку лише один раз. Елементи потрібно виводити в тому порядку, в якому вони зустрічаються в списку.
Вхідні дані:
4 5 6 6 6 5 4 4 7 4
Вихідні дані:
7
Розділ: Списки і кортежі | Рівень складності: початковий
-
Вводиться список чисел. Всі числа списку знаходяться в одному рядку. Обчисліть, скільки у списку різних елементів, не змінюючи самого списку.
Вхідні дані:
5 7 7 9 12
Вихідні дані:
4
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для доступу до індексу цілочисельних елементів списку. Числа списку вводяться на одному рядку через пропуск.
Вхідні дані:
3 44 6 8 9 12 7
Вихідні дані:
0 3 1 44 2 6 3 8 4 9 5 12 6 7
Розділ: Списки і кортежі | Рівень складності: початковий
-
Вводиться список чисел. Всі числа списку знаходяться в одному рядку. Не змінюючи його і не використовуючи додаткові списки, визначте, яке число в цьому списку зустрічається найчастіше. Якщо таких чисел декілька, виведіть будь-яке з них.
Вхідні дані:
1 0 0 1 0 0 1 1 0 2 4 6 9 9 2 3 2 4
Вихідні дані:
0 2
Розділ: Списки і кортежі | Рівень складності: початковий
-
Вводиться список цілих чисел в одному рядку через пропуск. Надрукуйте всі елементи, які перевищують попередній елемент списку, через пропуск в новому рядку в порядку їх розміщення у списку.
Вхідні дані:
5 8 0 2 9 4 1
Вихідні дані:
8 2 9
Розділ: Списки і кортежі | Рівень складності: початковий
-
Вводиться список цілих чисел в одному рядку через пропуск. Надрукуйте кількість елементів, які є за значенням більші за обох їх сусідів. Перший і останній елементи списку не слід розглядати, оскільки вони не мають двох сусідів.
Вхідні дані:
1 2 1 1 3 2 4 2 1 2 3
Вихідні дані:
1 2 0
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму, яка отримує повне ім’я файлу від користувача та друкує на екрані розширення отриманого файлу.
Вхідні дані:
test.cpp
Вихідні дані:
cpp
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму розрахунку суми цілих чисел, які вводяться користувачем в одному рядку через пропуск. Цикл використовувати не можна.
Вхідні дані:
1 5 9 5 2 8
Вихідні дані:
30
Розділ: Списки і кортежі | Рівень складності: початковий
-
Визначте, скільки різних слів у введеному рядку.
Вхідні дані:
New Delhi New York Paris Prague Reykjavik Happy New Year Happy New Year May we all have a vision now and then Of a world where every neighbor is a friend
Вихідні дані:
6 19
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму, яка отримує два цілих числа в одному рядку через пропуск і виводить ці числа аналогічним чином, помінявши їх місцями.
Вхідні дані:
101 56
Вихідні дані:
56 101
Розділ: Списки і кортежі | Рівень складності: початковий
-
Вводиться дробове число. Надрукувати окремо цифри цілої частини і дробової. Розділювачем є десяткова крапка.
Вхідні дані:
12.567 0.75
Вихідні дані:
12 567 0 75
Розділ: Списки і кортежі | Рівень складності: початковий
-
Створіть програму, яка отримує на вхід послідовність цілих чисел, і друкує на екрані: найменше число у списку, найбільше число у списку, кількість чисел у списку, середнє значення елементів у списку.
Вхідні дані:
1 3 7 5
Вихідні дані:
1 7 4 4.0
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму, яка приймає послідовність чисел, розділених комами, від користувача і створює список і кортеж з цими числами.
Вхідні дані:
7, 9, 12, 4
Вихідні дані:
[7, 9, 12, 4] (7, 9, 12, 4)
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для підрахунку кількості днів, в яких температура була не нижче, ніж середня температура за весь період. У першому рядку вводиться список показників температури на кожен день. У рядку виведення одне число - кількість днів, які відповідають умові.
Вхідні дані:
-3 -1 0 2 6 8 12 15
Вихідні дані:
4
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для підрахунку кількості цілих чисел
n
, які вводяться користувачем (значення вводяться через пропуск в одному рядку, числоn
вводиться у новому рядку).
Вхідні дані:
2 5 8 19 7 5 2 6 7 8 9 9 2 3 9
Вихідні дані:
1 2
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для друкування всіх парних чисел із введеного списку чисел у тому ж порядку і припиніть друк, якщо у списку буде число
n
або нуль. Значення списку вводяться через пропуск в одному рядку, числоn
вводиться у новому рядку.
Вхідні дані:
1 8 9 0 4 2 5 6 2
Вихідні дані:
8
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму, щоб перевірити, чи певне ціле число
n
перевищує всі елементи цілочисельного списку. Значення списку вводяться через пропуск в одному рядку, числоn
вводиться у новому рядку.
Вхідні дані:
4 67 109 25 44 12 99
Вихідні дані:
False
Розділ: Списки і кортежі | Рівень складності: початковий
-
Цілі числа (додатні і від’ємні) вводяться через пропуск в одному рядку. Напишіть програму для друку списку лише із введених додатних чисел.
Вхідні дані:
0 9 -4 6 8 -15 4
Вихідні дані:
[9, 6, 8, 4]
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для отримання частини рядка
URL
, що позначає назву ресурсу.
Вхідні дані:
https://www.namesite.com/folder/index.html
Вихідні дані:
index.html
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для отримання найменшого цілого числа зі списку. Значення списку вводяться через пропуск в одному рядку.
Вхідні дані:
87 6 25 7 105 23 56
Вихідні дані:
6
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для знаходження другого найменшого елемента у цілочисельного списку. Значення списку вводяться через пропуск в одному рядку.
Вхідні дані:
20 56 14 9 1 15
Вихідні дані:
9
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть програму для перетворення списку декількох цілих чисел у єдине ціле число. Значення списку вводяться через пропуск в одному рядку.
Вхідні дані:
1 7 9 4
Вихідні дані:
1794
Розділ: Списки і кортежі | Рівень складності: початковий
-
Написати програму, яка обчислює середнє арифметичне елементів списку. Середнім арифметичним кількох чисел називається їх сума, поділена на їх кількість. Результат округлити до двох знаків після десяткової крапки.
Вхідні дані:
3 5 1 8 4
Вихідні дані:
4.20
Розділ: Списки і кортежі | Рівень складності: початковий
-
Напишіть простий інтерпретатор математичного виразу. На вхід подається рядок з виразом, що складається з двох чисел (
0 ≤ a
,b ≤ 1000
), об’єднаних бінарним оператором:a operator b
, де замістьoperator
можуть використовуватися такі слова:plus
,minus
,multiply
,divide
для, відповідно, додавання, віднімання, множення і цілочисельного ділення. Результат обчислення - рядок, що містить ціле число.
Вхідні дані:
20 plus 7 15 minus 9 144 multiply 2 49 divide 7
Вихідні дані:
27 6 288 7
Розділ: Списки і кортежі | Рівень складності: початковий
-
Знайти відстань між двома точками із заданими координатами (
x1
,y1
,x2
,y2
) в2
-вимірному просторі. Значення координат є цілими числами. Результат округлити до двох знаків після десяткової крапки.
Вхідні дані:
2 3 -7 4
Вихідні дані:
9.06
Розділ: Списки і кортежі | Рівень складності: початковий
-
Дано список цілих чисел. Визначте елемент у списку з найбільшим значенням. Надрукувати значення найбільшого елемента, а потім номер індексу. Якщо найбільший елемент не є унікальним, надрукуйте індекс першого входження найбільшого елемента.
Вхідні дані:
2 5 10 0 4 7 11 5 8
Вихідні дані:
11 6
Розділ: Списки і кортежі | Рівень складності: початковий
-
Дано послідовність цілих чисел. Визначте, у відсортованому за зростанням списку, кількість елементів, що не повторюються один за одним.
Вхідні дані:
1 9 10 3 7 5 2 2 3 0 4 5 6
Вихідні дані:
10
Розділ: Списки і кортежі | Рівень складності: початковий
-
Циклічно посуньте елементи списку вправо (
0
-вий елемент переходить на місце1
-го,1
-ий на місце2
-го, ..., останній елемент переходить на місце0
-го). Вводиться список чисел. Всі числа списку знаходяться на одному рядку.
Вхідні дані:
2 0 2 5 6 1 2 3
Вихідні дані:
5 2 0 2 6 3 1 2
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка приймає послідовність слів, розділених комами і без пропусків в якості введення, і друкує послідовність слів, розділених комами, після сортування за алфавітом.
Вхідні дані:
one,moment,please
Вихідні дані:
moment,one,please
Розділ: Списки і кортежі | Рівень складності: середній
-
Для введеної послідовності унікальних цілих чисел, поміняйте місцями мінімальний та максимальний елементи цієї послідовності. Надрукуйте отриманий список.
Вхідні дані:
1 9 12 5 3 8
Вихідні дані:
12 9 1 5 3 8
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано список чисел, підрахуйте, скільки пар елементів мають однакове значення (рівні). Будь-які два елементи, що дорівнюють один одному, слід вважати рівно один раз.
Вхідні дані:
1 2 2 2 3 3 4 4 5 5 8 10 12 3 3 1 5 2 8 9 5
Вихідні дані:
4 2 1
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка приймає послідовність рядків (порожній рядок для завершення програми) як вхідний рядок і друкує рядки у верхньому регістрі.
Вхідні дані:
python ruby go
Вихідні дані:
PYTHON RUBY GO
Розділ: Списки і кортежі | Рівень складності: середній
-
Для введеної послідовності цілих чисел обміняйте сусідні елементи у парах (
A[0]
зA[1]
,A[2]
зA[3]
і т. д.). Надрукуйте отриманий список. Якщо в списку є непарне число елементів, залиште останній елемент на місці.
Вхідні дані:
1 4 5 3 7 4 2 10 5 2
Вихідні дані:
4 1 3 5 7 2 4 5 10 2
Розділ: Списки і кортежі | Рівень складності: середній
-
Для списку цілих чисел знайдіть і надрукуйте елементи, які з’являються у списку лише один раз. Елементи повинні бути роздруковані у тому порядку, в якому вони перебувають у вхідному списку.
Вхідні дані:
5 3 1 6 5 8 0 12 1 45 23 45 90 1 0
Вихідні дані:
3 1 6 8 0 12 23 90 0
Розділ: Списки і кортежі | Рівень складності: середній
-
У введеному списку цілих чисел, знайдіть і надрукуйте сусідні елементи, які мають однаковий знак. Якщо такої пари немає, не повинно нічого виводитися.
Вхідні дані:
1 -2 -3 5 6 -3 7 8
Вихідні дані:
-2 -3 5 6 7 8
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка зчитує числа (по одному в рядку) до тих пір, поки сума введених чисел не буде дорівнює
0
і відразу після цього виводить суму квадратів всіх чисел. Гарантується, що в якийсь момент сума введених чисел дорівнюватиме0
, після цього зчитування продовжувати не потрібно.
Вхідні дані:
2 3 -6 1
Вихідні дані:
50
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму для обчислення добутку цілих чисел (без використання циклу
for
), які вводяться через пропуск користувачем в одному рядку.
Вхідні дані:
2 5 3
Вихідні дані:
30
Розділ: Списки і кортежі | Рівень складності: середній
-
Написати програму, яка приймає на вхід послідовність з цілих чисел, після чого друкує значення всіх її елементів, піднесені до квадрату.
Вхідні дані:
1 2 3 4 5 6 7 8 9
Вихідні дані:
1 4 9 16 25 36 49 64 81
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму для друку елементів певного цілочисельного списку після видалення з нього парних чисел. Значення списку вводяться через пропуск в одному рядку.
Вхідні дані:
3 44 6 8 9 12 7
Вихідні дані:
[3, 9, 7]
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано дві цілочисельні послідовності, елементи яких розділені пропуском і комою. Напишіть програму, яка повертає послідовність, що містить лише елементи, які є загальними між введеними послідовностями (без дублікатів). Переконайтеся, що ваша програма працює на двох послідовностях різних розмірів.
Вхідні дані:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
Вихідні дані:
1 2 3 5 8 13
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка приймає послідовність
4
-цифрових двійкових чисел, розділених комами, і друкує числа, які ділиться на5
без остачі, в рядку і розділені комами.
Вхідні дані:
0100,0011,1010,1001,1100
Вихідні дані:
1010
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму для знаходження медіани з трьох введених цілих чисел. Числа вводяться в одному рядку через пропуск.
Вхідні дані:
25 50 11 1 9 7
Вихідні дані:
25 7
Розділ: Списки і кортежі | Рівень складності: середній
-
Вводиться три числа, через кому і пропуск, що позначають день, місяць і рік. Надрукуйте дату у форматі як у вихідних даних, не використовуючи цикл і звернення до елементів за індексом.
Вхідні дані:
4, 3, 2019
Вихідні дані:
4/3/2019
Розділ: Списки і кортежі | Рівень складності: середній
-
Програма отримує на вхід спадаючу послідовність натуральних чисел, що позначають значення зросту учнів. Після цього вводиться число - зріст учня, який має зайняти місце серед усіх інших. Всі числа у вхідних даних натуральні і не перевищують
200
. Виведіть номер місця, яке має зайняти новий учень. Якщо є учні з однаковим зростом, таким же, як і у нового учня, то він повинен встати після них.
Вхідні дані:
165 163 160 160 157 157 155 154 160
Вихідні дані:
5
Розділ: Списки і кортежі | Рівень складності: середній
-
Вводиться список цілих чисел. Всі числа списку знаходяться на одному рядку. У списку всі елементи різні. Поміняйте місцями мінімальний і максимальний елементи цього списку.
Вхідні дані:
5 6 8 1 4 9 12
Вихідні дані:
5 6 8 12 4 9 1
Розділ: Списки і кортежі | Рівень складності: середній
-
Ви вирішили написати перетворювач коду на
Python
в код наJava
. Так як наJava
прийнятий стандарт найменуванняCamelCase
, то ви вирішили навчитися перетворювати імена зunderscore
в цей формат. Стильunderscore
характеризується тим, що слова в імені пишуться маленькими літерами і розділяються між собою символом підкреслення_
. СтильCamelCase
означає, що кожне слово пишеться з великої літери і роздільників між словами немає. Отже, вводиться один рядок, що містить ім’я, записане в форматіunderscore
. Програма виводить рядок, що містить ім’я в форматіCamelCase
.
Вхідні дані:
my_class c
Вихідні дані:
MyClass C
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка обчислює частку студентів, які отримали оцінку
A
. Використовується п’ятибальна система оцінювання з оцінкамиA
,B
,C
,D
,F
. Вводиться рядок, в якому через пропуск записані оцінки студентів. Оцінок завжди не менш однієї. Виводиться дробове число з рівно двома знаками після коми.
Вхідні дані:
A B A A B C A D F A A A A A A F B B C B F F B C F
Вихідні дані:
0.44 1.00 0.50 0.00
Розділ: Списки і кортежі | Рівень складності: середній
-
У якийсь момент вам набридло використовувати імена файлів з пропусками і ви вирішили написати програму, яка перейменовує всі файли, що містять пропуски в імена, у яких групи прогалин замінено на символ підкреслення
_
. Програма отримує один рядок, що містить довільні символи, в тому числі і пропуски, і виводить правильну назву із символом підкреслення замість пропусків.
Вхідні дані:
my file.txt string with multi spaces single
Вихідні дані:
my_file.txt string_with_multi_spaces single
Розділ: Списки і кортежі | Рівень складності: середній
-
На вхід програми подається деякий текст в одному рядку з пропусками. Необхідно знайти у тексті слово під певним номером (наприклад, п’яте слово за рахунком) і вивести на екран його першу букву.
Вхідні дані:
Now is better than never 3
Вихідні дані:
b
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано список з чисел та індекс елемента в списку
k
. Видаліть зі списку елемент з індексомk
, зсунувши вліво всі елементи, що стоять правіше елемента з індексомk
. Програма отримує на вхід список, потім числоk
. Програма повинна здійснювати зміщення безпосередньо в списку, а не робити це при виведенні елементів. Також не можна використовувати додатковий список.
Вхідні дані:
5 7 9 0 3 11 3
Вихідні дані:
5 7 9 3 11
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано список цілих чисел, число
k
і значенняc
. Необхідно вставити у список на позицію з індексомk
елемент, рівнийc
, зсунувши всі елементи вправо. Вставку необхідно здійснювати у самому списку, не роблячи цього при виведенні і не створюючи додаткового списку. Вводиться список чисел. Всі числа списку знаходяться на одному рядку. У наступному рядку вводяться два цілих числа.
Вхідні дані:
9 4 6 2 0 7 14 3 0
Вихідні дані:
9 4 6 0 2 0 7 14
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму для перетворення двійкового числа в десяткове число.
Вхідні дані:
1001 101010111 10000
Вихідні дані:
9 343 16
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму для видалення кожного третього елемента із цілочисельного списку і друку результуючого списку, доки список не стане порожнім. Початковий список цілих чисел вводиться в одному рядку через пропуск.
Вхідні дані:
2 5 8 9 4 78 7 1
Вихідні дані:
[2, 5, 9, 4, 78, 7, 1] [2, 5, 4, 78, 7, 1] [2, 5, 78, 7, 1] [2, 5, 7, 1] [2, 5, 1] [2, 5] [5] []
Розділ: Списки і кортежі | Рівень складності: середній
-
Необхідно зчитати рядок з цифр, розділених пропусками, і зберегти кожну цифру у список. Створіть копію списку із впорядкованими елементами у зворотному порядку. Виведіть число, яке утворюється об’єднанням елементів нового списку.
Вхідні дані:
1 4 8 3 9 5
Вихідні дані:
593841
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано послідовність цілих чисел, яка вводиться в рядку через пропуск. Визначте два найменших елемента послідовності. Вони можуть бути як рівні між собою (обидва бути мінімальними), так і відрізнятися.
Вхідні дані:
14 3 40 56 42 43 89 69 64 72 5 44 11 25
Вихідні дані:
5 3
Розділ: Списки і кортежі | Рівень складності: середній
-
Розташувати додатні і від’ємні числа введеної послідовності цілих чисел на початку списку і у кінці списку відповідно (за спаданням). Числа, рівні нулю, ігнорувати. Вивести на екран результуючий список.
Вхідні дані:
1 3 -5 0 10 -2 12 45 7 0 9 -4 -11 15 22 3
Вихідні дані:
45 22 15 12 10 9 7 3 3 1 -2 -4 -5 -11
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано список слів. Напишіть програму, яка виконає заміну останніх трьох символів слів, що мають певну довжину, на певний символ. Користувач відповідно вводить наступні дані: кількість слів у списку, довжину слів, які будуть редагуватися, символ заміни останніх тьох символів і сам список слів (кожне слово в окремому рядку). Гарантовано, що довжина слів у списку щонайменше
3
символи.
Вхідні дані:
4 5 % writer painter programmer scientist
Вихідні дані:
['wri%', 'pain%', 'program%', 'scient%']
Розділ: Списки і кортежі | Рівень складності: середній
-
Користувач вводить два цілих додатних числа
n
іm
. Напишіть програму, яка створює двовимірний масив розміромn x m
і заповнює його символами.
і*
у шаховому порядку (як у вихідних даних). Лівий верхній кут повинен мати символ.
.
Вхідні дані:
6 8
Вихідні дані:
. * . * . * . * * . * . * . * . . * . * . * . * * . * . * . * . . * . * . * . * * . * . * . * .
Розділ: Списки і кортежі | Рівень складності: середній
-
Вводиться непарне натуральне число
n
. Напишіть програму, яка створює зображення сніжинки за допомогою двовимірного масиву розміромn x n
. Заповніть кожен елемент символом.
. Потім заповніть середній рядок, середній стовпець і діагоналі символом*
. Розділяйте символи одним пропуском.
Вхідні дані:
7
Вихідні дані:
* . . * . . * . * . * . * . . . * * * . . * * * * * * * . . * * * . . . * . * . * . * . . * . . *
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка приймає на вхід список чисел в одному рядку і виводить на екран в один рядок значення, які повторюються в ньому більш ніж один раз. Виведені числа не повинні повторюватися, порядок їх виведення маж бути за зростанням.
Вхідні дані:
5 8 1 3 5 2 1 3 0 2 2 4 4 4 1
Вихідні дані:
1 3 5 2 4
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка приймає
2
цілих числа,a
іb
і генерує двовимірний масив. Значення елемента вi
-му рядку іj
-му стовпці масиву має бутиi * j
(i = 0,1...,a-1
;j = 0,1..., b-1
).
Вхідні дані:
3 5
Вихідні дані:
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]
Розділ: Списки і кортежі | Рівень складності: середній
-
Для введеної послідовності цілих чисел, вивести їх у списку так, щоб парні елементи розташовувалися на початку списку, а непарні - в кінці.
Вхідні дані:
2 5 7 8 9 10 12 32 5
Вихідні дані:
32 12 10 8 2 5 7 9 5
Розділ: Списки і кортежі | Рівень складності: середній
-
Напишіть програму, яка обчислює суму на банківському рахунку на основі журналу транзакцій. Формат журналу транзакцій відображається наступним чином:
D 100 W 200
де D
– покласти на депозит ціле значення суми, а W
- вилучити. Введення транзакцій завершується порожнім рядком.
Вхідні дані:
D 100 W 200 D 300 D 350 W 200 D 150
Вихідні дані:
500
Розділ: Списки і кортежі | Рівень складності: середній
-
Робот може рухатися, починаючи від початкової точки
(0, 0)
, вгору, вниз, вліво та вправо за допомогою кроків, наприклад:
UP 5 DOWN 3 LEFT 3 RIGHT 2
Назви вказують напрямок, а цифри позначають кількість кроків. Введення порожнього рядка завершує рух робота. Напишіть програму для обчислення відстані від поточної позиції робота до початкової точки.
Вхідні дані:
UP 5 DOWN 3 LEFT 3 RIGHT 2
Вихідні дані:
2
Розділ: Списки і кортежі | Рівень складності: середній
-
Дано список назв міст світу, перерахованих в рядку через кому. Сформуйте з елементів списку повідомлення, у якому перед останнім елементом буде вставлено слово
and
так, як у вихідних даних. Програма має працювати з будь-якими списками, які мають довільну довжину, відмінну від нуля.
Вхідні дані:
Budapest, Rome, Istanbul, Sydney, Kyiv, Hong Kong Kyiv, Hong Kong Budapest
Вихідні дані:
Budapest, Rome, Istanbul, Sydney, Kyiv and Hong Kong Kyiv and Hong Kong Budapest
Розділ: Списки і кортежі | Рівень складності: середній
-
У рядку через кому перераховані слова. Сформувати з цих слів новий рядок. Слова мають бути відсортовані за спаданням (від
Z
доA
) без урахування регістру і записані через пропуск.
Вхідні дані:
horse, cat, parrot, goldfish, dog
Вихідні дані:
parrot horse goldfish dog cat
Розділ: Списки і кортежі | Рівень складності: високий
-
Дано послідовність цілих чисел, які записані в одному рядку через пропуск. Утворіть і надрукуйте голову (перший елемент) і хвіст (усі інші елементи) вказаної послідовності не використовуючи цикли і зрізи. Довжина послідовності може бути довільною.
Вхідні дані:
2 10 15 9 3 6 7 11
Вихідні дані:
2 10 15 9 3 6 7 11
Розділ: Списки і кортежі | Рівень складності: високий
-
Напишіть програму, яка виводить частину послідовності
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5...
(число повторюється стільки разів, чому дорівнює). На вхід програми передається невід’ємне ціле числоn
- стільки елементів послідовності повинна надрукувати програма. На виході очікується послідовність чисел, записаних через пропуск в один рядок.
Вхідні дані:
8
Вихідні дані:
1 2 2 3 3 3 4 4
Розділ: Списки і кортежі | Рівень складності: високий
-
Виведіть таблицю розміром
n × n
, заповнену числами від1
доn
2
по спіралі, що виходить з лівого верхнього кута і закрученою за годинниковою стрілкою.
Вхідні дані:
4
Вихідні дані:
1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
Розділ: Списки і кортежі | Рівень складності: високий
-
Суть завдання та ж, що і у задачі Шифр Цезаря, з однією відмінністю: кодуються символи з інтервалу
1F600-1F64F
таблиці символівUnicode
. Використовується кодуванняUTF-8
. Для всіх символів зсув один і той же. Зсув циклічний, тобто, якщо до останнього символу алфавіту застосувати одиничний зсув, то він заміниться на перший символ, і навпаки. Напишіть програму, яка шифрує текст шифром Цезаря. На першому рядку вказується використовуваний зсув шифрування: ціле число. Додатне число відповідає зсуву вправо. На другому рядку вказується непорожня фраза для шифрування. Не звертайте уваги, якщо у вас відображаються прямокутники замість деяких символів. Це означає, що ваш шрифт не містить цих символів. Програма має вивести єдиний рядок, в якій записана зашифрована послідовність.
Вхідні дані:
2 😍😎😏
Вихідні дані:
😏😐😑
Розділ: Списки і кортежі | Рівень складності: високий
-
Використовуючи поняття списку, напишіть програму, яка створює
3D
масив елементівa x b x c
, кожен з яких має значення0
. Значенняa
,b
,c
вводяться в одному рядку через пропуск.
Вхідні дані:
2 3 3 4 4 4
Вихідні дані:
[[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]] [[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]
Розділ: Списки і кортежі | Рівень складності: високий
-
Напишіть програму, на вхід якої подається список чисел одним рядком. Програма повинна для кожного елемента цього списку вивести суму двох його сусідів. Для елементів списку, які є крайніми, одним із сусідів вважається елемент, що знаходить на протилежному кінці цього списку. Якщо на вхід прийшло тільки одне число, треба вивести його ж. Виведення повинно містити один рядок з числами нового списку, розділеними пропусками.
Вхідні дані:
1 3 5 6 10 5
Вихідні дані:
13 6 9 15 7 5
Розділ: Списки і кортежі | Рівень складності: високий
-
Вводиться рядок, що складається із слів, розділених пропусками. Потрібно впорядкувати слова в рядку так, щоб найбільш короткі з них були спочатку рядка, а найбільш довгі в кінці. Слова необхідно вивести на екран через кому і пропуск, а рядок впорядкованих слів має закінчуватися крапкою.
Вхідні дані:
ab aaab ba baaaaa a aba
Вихідні дані:
a, ab, ba, aba, aaab, baaaaa.
Розділ: Списки і кортежі | Рівень складності: високий
-
Вводяться
n
рядків. Визначити найдовший рядок і вивести його номер на екран. Якщо найдовших рядків кілька, то вивести номери всіх таких рядків.
Вхідні дані:
5 Thames Amazon Nile Yangtze Dnieper
Вихідні дані:
4 5
Розділ: Списки і кортежі | Рівень складності: високий
-
Дано список з
n
(1 ≤ n ≤ 100000
) цілих чисел і числоk
(|k| < 100000
). Циклічно посуньте список на|k|
елементів вправо, якщоk
- додатне і вліво, якщо від’ємне число. Програма отримує на вхід список цілих чисел, потім числоk
. Рішення повинно мати складністьO(n)
, тобто не повинно залежати відk
. Додатковим списком користуватися не можна.
Вхідні дані:
5 3 7 4 6 3 7 4 6 5 3 -3
Вихідні дані:
7 4 6 5 3 5 3 7 4 6
Розділ: Списки і кортежі | Рівень складності: високий
-
Користувач вводить ціле число
n
і видаляє одну цифру числа так, щоб число що утворилось, було максимально можливим. Наприклад, якщо число, яке ввели432
, то необхідно видалити цифру2
, яка стоїть на3
місці, щоб отримати максимально можливе число43
. Напишіть програму, яка знайде максимально можливе число, яке можна отримати після видалення однієї цифри.
Вхідні дані:
432 239 101
Вихідні дані:
43 39 11
Розділ: Списки і кортежі | Рівень складності: високий
-
Вводиться рядок слів, розділених пропусками. Знайти найдовше слово і вивести його на екран. Розглянути випадок, коли найдовших неоднакових слів може бути кілька.
Вхідні дані:
Sparse is better than dense Readability counts Long time Pythoneer Tim Peters succinctly channels the BDFL's guiding principles for Python's design into 20 aphorisms
Вихідні дані:
Sparse better Readability succinctly principles
Розділ: Списки і кортежі | Рівень складності: високий
-
В один ряд поставили
n
кеглів, пронумерувавши їх зліва направо числами від1
доn
. Потім в цей ряд кинулиk
куль, при цьомуi
-та куля збила всі кеглі з номерами відm
доh
включно. Визначте, які кеглі залишилися стояти на місці. Програма отримує на вхід кількість кеглівn
і кількість кидківk
. Далі йдеk
пар чиселm, h
, при цьому1 ≤ m ≤ h ≤ n ≤ 100
. Програма повинна вивести послідовність зn
символів, деj
-й символ єI
, якщоj
-та кегля залишилася стояти, або.
, якщоj
-та кегля була збита.
Вхідні дані:
10 3 8 10 2 5 3 6
Вихідні дані:
I.....I...
Розділ: Списки і кортежі | Рівень складності: високий
-
Дано список цілих чисел. Потрібно стиснути його, перемістивши всі ненульові елементи в ліву частину списку, не змінюючи їх порядок, а всі нулі - в праву частину. Порядок ненульових елементів змінювати не можна, додатковий список використовувати не можна, завдання потрібно виконати за один прохід по списку. Роздрукуйте отриманий список.
Вхідні дані:
6 0 3 0 5 0 0 4
Вихідні дані:
6 3 5 4 0 0 0 0
Розділ: Списки і кортежі | Рівень складності: високий
-
Вводиться рядок, який може мати пропуски на початку, між словами і у кінці. Пропусків може бути більше одного. Необхідно привести рядок до нормального вигляду, тобто видалити усі пропуски, а між словами залишити тільки один пропуск.
Вхідні дані:
The Zen of Python
Вихідні дані:
The Zen of Python
Розділ: Списки і кортежі | Рівень складності: високий
-
Напишіть програму, яка приймає на вхід список чисел і число (в окремих рядках), після чого виводить всі позиції через пропуск, на яких це число зустрічається в переданому списку (позиції у списку нумеруються з
1
). Позиції повинні бути виведені в порядку зростання. Якщо число не знайдено в списку, потрібно вивести рядокNone
(без лапок, з великої літери).
Вхідні дані:
5 7 3 4 9 8 4 7 4 4
Вихідні дані:
4 7 9
Розділ: Списки і кортежі | Рівень складності: високий
-
Напишіть програму, яка знаходить усі позиції входження підрядка
B
у рядокA
. На першому рядку міститься вхідний рядок, на другому рядку введення вказаний підрядок, позиції якого потрібно знайти. Рядки складаються з символів англійського алфавіту. Програма має вивести позиції входження підрядкаB
у рядокA
(індексація починається з1
), розділені пропуском або число-1
в разі, коли підрядок не знайдено.
Вхідні дані:
abacabadaba aba abc d
Вихідні дані:
0 4 8 -1
Розділ: Списки і кортежі | Рівень складності: високий
-
Кодування довжин послідовностей - це базовий алгоритм стиснення даних. Реалізуйте алгоритм дешифрування (декодування) рядків, закодованих за допомогою одного з найпростіших варіантів кодування довжин послідовностей. На вхід алгоритму подається рядок, що містить цифри і символи англійського алфавіту. Цей рядок розбивається на так звані серії (послідовності), які кодуються парою число-символ або просто символ (в такому випадку число вважається рівним одиниці). Результат повинен містити ці серії в тому ж порядку, що вони і зустрічаються в заданому рядку, при цьому кожна серія розгортається в послідовність символів відповідної довжини. Наприклад, закодований рядок
3ab4c2CaB
розбивається на серії3a b 4c 2C a B
, після чого, перетворюючи серії, отримуємо початковий розкодований рядокaaabccccCCaB
.
Вхідні дані:
3ab4c2CaB 10a3b2c4DFj5h
Вихідні дані:
aaabccccCCaB aaaaaaaaaabbbccDDDDFjhhhhh
Розділ: Списки і кортежі | Рівень складності: високий
-
Напишіть програму, яка отримує на вхід чотирьохзначне додатне десяткове число та генерує з цифр цього числа мінімально можливе чотирьохзначне число та максимально можливе чотирьохзначне число. У першому рядку задано одне чотирьохзначне число. Виведіть у другому рядку два числа - найменше чотирьохзначне число та найбільше чотирьохзначне число, які можна отримати з цифр даного числа. Числа розділяйте одним пропуском.
Вхідні дані:
1390 1010 5173
Вихідні дані:
1039 9310 1001 1100 1357 7531
Розділ: Списки і кортежі | Рівень складності: високий
-
Вводиться послідовність цілих чисел у вигляді як у вхідних даних і перетвоюється у список списків, тобто у список, кожен елемент якого також є списком. Впорядкуйте цей список по другому елементу кожного списку і виведіть впорядкований список.
Вхідні дані:
1 2 3,2 1 3,4 0 1
Вихідні дані:
[[1, 2, 3], [2, 1, 3], [4, 0, 1]] [[4, 0, 1], [2, 1, 3], [1, 2, 3]]
Розділ: Списки і кортежі | Рівень складності: високий
-
У трьох автобусах розсадили дітей так, що їх кількість в різних автобусах різна. Яку найменшу кількість дітей потрібно пересадити, щоб у кожному автобусі їх було порівно? У першому рядку задано три натуральних числа, не більших за
100
- кількість дітей у першому, другому та третьому автобусах. Виведіть одне число - найменшу кількість дітей, яких потрібно пересадити. Якщо це зробити не можливо, то виведітьNO SOLUTIONS
.
Вхідні дані:
9 10 10 2 5 8
Вихідні дані:
NO SOLUTIONS 3
Розділ: Списки і кортежі | Рівень складності: високий
-
Напишіть програму, яка знайде максимально можливе число, яке можна отримати після видалення однієї цифри. Перший рядок містить одне ціле число
n
(10 ≤ n ≤ 2025
). Виведіть у другому рядку максимально можливе число, яке можна отримати після видалення однієї цифри.
Вхідні дані:
4378 1095 2000
Вихідні дані:
478 195 200
Розділ: Списки і кортежі | Рівень складності: високий
-
У римській системі числення для позначення чисел використовуються наступні символи (праворуч записані числа, яким вони відповідають в десятковій системі числення):
I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000
Будемо використовувати варіант, в якому числа 4
, 9
, 40
, 90
, 400
і 900
записуються як віднімання з більшого числа меншого: IV
, IX
, XL
, XC
, CD
і CM
, відповідно. Напишіть програму, яка переводить число з римської в десяткову систему числення. Користувач вводить рядок, що містить число, закодоване в римській системі числення. Гарантується, що число менше 4000
. Програма має вивести рядок, що містить число в десятковій системі числення, відповідне введеному.
Вхідні дані:
MCMLXXXI XXI IV
Вихідні дані:
1981 21 4
Розділ: Списки і кортежі | Рівень складності: високий
-
Анаграма - переставлення літер у слові, завдяки чому утворюється нове значення слова. Напишіть програму, яка перевіряє, чи є два введених слова анаграмами. Програма повинна вивести
True
в разі, якщо введені слова є анаграмами, іFalse
в інших випадках. Слово може складатися тільки з англійських символів. Регістр букв не повинен впливати на відповідь.
Вхідні дані:
restful fluster forty-five over-fifty anagram naganra
Вихідні дані:
True True False
Розділ: Списки і кортежі | Рівень складності: високий
-
Магічний квадрат - це квадратна таблиця
n x n
, заповнена цілими числами таким чином, що сума чисел у кожному рядку, кожному стовпчику і на обох діагоналях однакова. Напишіть програму, яка отримує послідовність чисел у форматі як у вхідних даних, з яких утворюється двовимірна таблиця (список списків) цілочисельних елементів і перевірте чи є вона магічним квадратом. Програма має вивестиTrue
чиFalse
відповідно.
Вхідні дані:
1 2 3,4 5 6,7 8 9 4 9 2,3 5 7,8 1 6 7 12 1 14,2 13 8 11,16 3 10 5,9 6 15 4 23 28 21,22 24 26,27 20 25 16 23 17,78 32 21,17 16 15 4 3 8,9 5 1,2 7 6
Вихідні дані:
False True True True False True
Розділ: Списки і кортежі | Рівень складності: високий
2.6. Словники і множини
У даному розділі розглядаються задачі на використання словників і множин. |
-
Створіть словник з інформацією про пошукові системи, в якому ключі – назви пошукових систем, а значення – частка їхнього використання у світі на даний момент (дійсне число). Надрукуйте елементи словника як у вихідних даних. Елементи у словнику невпорядковані.
Вхідні дані:
Немає
Вихідні дані:
Yahoo!: 2.09 Google: 90.15 Bing: 3.23 Baidu: 2.2
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник зі списками добрих справ на сьогодні і на завтра. Надрукуйте із словника добрі справи, які плануєш зробити сьогодні і взавтра.
Вхідні дані:
Немає
Вихідні дані:
today: Make a compliment to a friend Call your grandparents Embrace parents tomorrow: Feed the birds in the park Give unnecessary things to those who need them Smile
Розділ: Словники і множини | Рівень складності: початковий
-
Припустимо, що у нас є словник, в якому ключі є ідентифікаторами, а значення – іменами користувачів. Напишіть програму, яка виводить вітальне повідомлення користувачу на основі його ідентифікатора. Якщо ідентифікатор відсутній у словнику, виводиться вітання для усіх користувачів.
Вхідні дані:
232 550 190 500
Вихідні дані:
Hi, Alice! Hi, Bob! Hi, Jack! Hi, to all!
Розділ: Словники і множини | Рівень складності: початковий
-
Ви створюєте пригодницьку гру і використовуєте для зберігання предметів гравця словник, у якому ключі - це назви предметів, значення - кількість одиниць кожної із речей. Виведіть повідомлення про усі речі гравця як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
Equipment: 3 key 1 mace 24 gold coin 1 lantern 10 stone Total number of things: 39
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму для сортування за зростанням (за алфавітом) словника за ключами. Словник зберігає пари ключ-значення у вигляді «назва фільму: рік релізу». Інформація виводиться як у вихідних даних: сортування має бути проведено за назвами фільмів.
Вхідні дані:
Немає
Вихідні дані:
('Avengers: Endgame', 2019) ('Guardians of the Galaxy', 2014) ('Iron Man', 2008) ('Thor', 2011)
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму для сортування за спаданням (порядок, зворотний алфавітному) словника за ключами. Словник зберігає пари ключ-значення у вигляді «країна: столиця». Інформація виводиться як у вихідних даних: сортування має бути проведено за назвами країн.
Вхідні дані:
Немає
Вихідні дані:
[('Ukraine', 'Kyiv'), ('France', 'Paris'), ('Denmark', 'Copenhagen'), ('China', 'Beijing'), ('Canada', 'Ottawa')]
Розділ: Словники і множини | Рівень складності: початковий
-
Надрукуйте елементи словника, де ключі - це числа від
1
доn
(обидва числа включно), а значення - квадрати ключів.n
– ціле число, яке вводить користувач.
Вхідні дані:
15
Вихідні дані:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225}
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник, в кому ключі – назви днів тижня, а значення - цілі числа, що позначають порядковий номер дня тижня від
0
до6
. Надрукуйте назву дня за введеним порядковим номером дня. Якщо введений номер виходить за межі, програма жодних повідомлень не друкує і не повідомляє про помилку.
Вхідні дані:
3 0
Вихідні дані:
Wednesday Sunday
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник у якому ключами є назви жанрів комп’ютерних ігор, а значеннями - назва конкретної гри даного жанру. Виведіть вміст словника як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
simulations: Euro Track Simulator adventure: Myst rts: Kingdom Two Crowns action: Grand Theft Auto sports: FIFA
Розділ: Словники і множини | Рівень складності: початковий
-
Дано словник, у якому ключами є назви платних застосунків для платформи
Android
, а значеннями - їх ціна (дійсне число, два знаки після десяткової крапки). Надрукуйте із словника через кому з пропуском максимальну і мінімальну ціни для застосунків.
Вхідні дані:
Немає
Вихідні дані:
179.99, 5.0
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму для створення словника із введеного рядка символів для підрахунку кількості символів.
Вхідні дані:
Lorem ipsum dolor sit amet
Вихідні дані:
{'L': 1, 'o': 3, 'r': 2, 'e': 2, 'm': 3, ' ': 4, 'i': 2, 'p': 1, 's': 2, 'u': 1, 'd': 1, 'l': 1, 't': 2, 'a': 1}
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник, у якому ключі - імена відомих програмістів, а значення - їхні дати народження у форматі
dd/mm/yyyy
. Напишіть програму, яка за введеним ім’ям відомого інформатика друкує його дату народження або у відсутності такого - відповідне повідомлення як у вихідних даних.
Вхідні дані:
Ada Lovelace Jack Dorsey
Вихідні дані:
Ada Lovelace's birthday is 10/12/1815. Sadly, we don't have Jack Dorsey's birthday.
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник, що містить назви продуктів в уявному холодильнику. Найменування їжі будуть ключами, а відповідне значення кожного продукту харчування має бути значенням-рядком, що описує їжу. Після введення користувачем назви продукту, виведіть повідомлення про наявність або відсутність його у холодильнику.
Вхідні дані:
butter milk
Вихідні дані:
butter is a dairy product with high butterfat content milk wasn't found in the fridge
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму, яка приймає рядок символів, і обчислює кількість букв і цифр.
Вхідні дані:
Project Gutenberg offers over 59,000 free eBooks
Вихідні дані:
LETTERS 36 DIGITS 5
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму, яка приймає рядок символів, і обчислює кількість великих та малих літер.
Вхідні дані:
The quick brown FOX jumps over a lazy DOG
Вихідні дані:
UPPER CASE 7 LOWER CASE 26
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник із даними про студентів: ключі - імена студентів, значення - бали для кожного. Програма повинна визначити середній бал і вивести імена студентів, чий бал вище середнього.
Вхідні дані:
Немає
Вихідні дані:
Alex Barbara
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму для підрахунку кількості символів (символьної частоти) у введеному рядку.
Вхідні дані:
Вихідні дані:
g 2 o 2 l 1 e 1
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть англо-німецький словник з назвою
e2g
і виведіть його вміст на екран.
Вхідні дані:
Немає
Вихідні дані:
stork: storch hawk: falke woodpecker: specht owl: eule
Розділ: Словники і множини | Рівень складності: початковий
-
Словники можуть використовуватися для моделювання справжнього словника. Оберіть кілька термінів з програмування (або із іншої області), які ви знаєте на цей момент. Використайте ці слова як ключі словника, а їх визначення - як значення. Виведіть кожне слово і його визначення у спеціально відформатованому вигляді як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
variable a symbolic name associated with a value and whose associated value may be changed type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data program a collection of instructions that performs a specific task when executed by a computer
Розділ: Словники і множини | Рівень складності: початковий
-
Cтворіть словник з річками і регіонами, територією яких вони протікають. Виведіть повідомлення із назвами річки і регіону, як у вихідних даних, для усіх елементів словника, враховуючи те, що у повідомлення підставляються назви річок і територій із словника.
Вхідні дані:
Немає
Вихідні дані:
The Amazon runs through South America. The Odra runs through Central Europe. The Ganges runs through South Asia.
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник з назвами мов програмування (ключі) та іменами розробників цих мов (значення). Виведіть по черзі для усіх елементів словника повідомлення як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
My favorite programming language is JavaSript. It was created by Brendan Eich. My favorite programming language is Python. It was created by Guido van Rossum. My favorite programming language is Ruby. It was created by Yukihiro Matsumoto. My favorite programming language is PHP. It was created by Rasmus Lerdorf.
Розділ: Словники і множини | Рівень складності: початковий
-
Використайте словник для виведення представлення букви, яку вводить користувач, у символах азбуки Морзе. Передбачте у програмі обробку малих і великих букв.
Вхідні дані:
D f
Вихідні дані:
-.. ..-.
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть кілька словників, імена яких - це клички домашніх тварин. У кожному словнику збережіть інформацію про вид домашнього улюбленця та ім’я власника. Збережіть словники в списку з ім’ям
pets
. Виведіть повідомленя як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
Jim is the owner of a pet - a cat. Alex is the owner of a pet - a dog. Elena is the owner of a pet - a parrot.
Розділ: Словники і множини | Рівень складності: початковий
-
Створіть словник для зберігання інформації про міста. Використайте назви міст в якості ключів словника. Створіть словник з інформацією про кожне місто: включіть в нього країну, в якій розташоване місто, приблизну чисельність населення і один цікавий факт про місто. Виведіть назву кожного міста і всю збережену інформацію про нього як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
Rome: Country: Italy Population: 2868000 people Fact: Rome is one of the oldest cities in the world, the capital of Ancient Rome. Therefore, Rome is often called the "eternal city". Canberra: Country: Australia Population: 381448 people Fact: The design of Canberra was based on the concept of a garden city, which includes significant areas of natural vegetation, which earned for Canberra the title of "bush capital" (translated from the English "forest capital"). Toronto: Country: Canada Population: 2503281 people Fact: In the world of professional sports, the city is the most famous hockey team of Toronto Maple Leafs. The city holds the nickname of the "hockey universe center".
Розділ: Словники і множини | Рівень складності: початковий
-
Створити словник, у кому ключами є назви команд Національної баскетбольної асоціації (
NBA
) у північній Америці, а значеннями - списки, на зразок,[Всього ігор, Перемог, Нічиїх, Поразок, Всього очок]
. Значення списку - це цілі числа, які обираються довільно. Надрукуйте інформацію про кожну команду як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
BOSTON CELTICS 3 2 0 1 8 NEW YORK KNICKS 10 3 3 4 19 INDIANA PACERS 4 2 2 0 11 MIAMI HEAT 12 2 5 5 9 ATLANTA HAWKS 5 2 2 1 10 CHICAGO BULLS 25 10 9 6 38
Розділ: Словники і множини | Рівень складності: початковий
-
Дано місяць і рік для двох дат (наприклад,
12.2014
і6.2019
). Користувач вводить ще одну дату (місяць і рік). Визначити, чи належить третя дата діапазону від першої дати до другої включно. Результатом роботи програми має бути повідомленняYES
абоNO
.
Вхідні дані:
2018 5
Вихідні дані:
YES
Розділ: Словники і множини | Рівень складності: початковий
-
Написати програму, в якій зберігаються дані про товари, їх кількість і ціну. При запуску програми ця інформація виводиться на екран. Далі користувачеві має пропонуватися вводити номера товарів і їх нову кількість. Введення даних має завершуватися, якщо користувач вводить обумовлений символ (наприклад, нуль). Після цього всі дані про товари повинні знову виводитися на екран. Якщо номер товару відсутній, необхідно вивести відповідне повідомлення як у вихідних даних.
Вхідні дані:
9 product missing 2 10 0
Вихідні дані:
1 Core-i3-4330 9 4500 2 Core i5-4670K 3 8500 3 AMD FX-6300 6 3700 4 Pentium G3220 8 2100 5 Core i5-3450 5 6400 1 Core-i3-4330 9 4500 2 Core i5-4670K 10 8500 3 AMD FX-6300 6 3700 4 Pentium G3220 8 2100 5 Core i5-3450 5 6400
Розділ: Словники і множини | Рівень складності: початковий
-
Дано словник, в якому ключі - імена та прізвища, записані через пропуск, відомих розробників мов програмування, а значення - назви мов програмування. Надрукуйте назву мови за введеним ім’ям або прізвищем її розробника.
Вхідні дані:
Gosling Dennis
Вихідні дані:
Java C
Розділ: Словники і множини | Рівень складності: початковий
-
Змоделюйте аркуш елетронної таблиці на основі словника. Створіть порожній словник для зберігання значень комірок аркушу електронної таблиці. Заповніть словник кількома значеннями: в одному рядку вводиться адреса комірки у форматі
A1
, деA
- назва стовпця,1
- номер рядка, і, через пропуск, значення, яке необхідно зберегти в комірці. Надрукуйте «комірки» словника з їхніми значеннями.
Вхідні дані:
A1 300 B1 2050 B2 Python
Вихідні дані:
('A', '1') 300 ('B', '1') 2050 ('B', '2') Python
Розділ: Словники і множини | Рівень складності: початковий
-
Напишіть програму для видалення дублікатів зі списку цілих чисел.
Вхідні дані:
10 5 11 2 3 5 8 9 3 4 2
Вихідні дані:
2 3 4 5 8 9 10 11
Розділ: Словники і множини | Рівень складності: середній
-
Даний список цілих чисел. Визначте кількість різних значень.
Вхідні дані:
1 3 4 5 6 5 1 9
Вихідні дані:
6
Розділ: Словники і множини | Рівень складності: середній
-
Дано список словників. Кожен словники має
2
пари елементів: ключname
і значення імені студента, ключpoints
і значення - список балів з різних дисциплін (цілі двоцифрові числа). Надрукуйте найменші значення балів, отримані кожним студентом, в один рядок з пропуском.
Вхідні дані:
Немає
Вихідні дані:
45 60 30 49
Розділ: Словники і множини | Рівень складності: середній
-
Дано два списки чисел. Порахуйте, скільки унікальних цифр міститься в обох з них.
Вхідні дані:
1 6 3 5 6 10 12 6 5 1 4
Вихідні дані:
3
Розділ: Словники і множини | Рівень складності: середній
-
Дано два словники, в яких ключами є малі букви латинського алфавіту, а значеннями - цілі числа. В першому словнику можуть зустрічатися ключі чи значення, які присутні в другому словнику, або навпаки. Наприклад, вміст словників може бути наступний:
a = {'x' : 1, 'y' : 2, 'z' : 3}
,b = {'w' : 10, 'x' : 11, 'y' : 2}
. Надрукуйте спільні ключі для обох словників в одному рядку через пропуск.
Вхідні дані:
Немає
Вихідні дані:
y x
Розділ: Словники і множини | Рівень складності: середній
-
Дано два словники, в яких ключами є малі букви латинського алфавіту, а значеннями - цілі числа. В першому словнику можуть зустрічатися ключі чи значення, які присутні в другому словнику, або навпаки. Наприклад, вміст словників може бути наступний:
a = {'x' : 1, 'y' : 2, 'z' : 3}
,b = {'w' : 10, 'x' : 11, 'y' : 2}
. Надрукуйте ключі, які присутні в першому словнику, але яких немає в другому, в одному рядку через пропуск.
Вхідні дані:
Немає
Вихідні дані:
z
Розділ: Словники і множини | Рівень складності: середній
-
Дано два словники, в яких ключами є малі букви латинського алфавіту, а значеннями - цілі числа. В першому словнику можуть зустрічатися ключі чи значення, які присутні в другому словнику, або навпаки. Наприклад, вміст словників може бути наступний:
a = {'x' : 1, 'y' : 2, 'z' : 3}
,b = {'w' : 10, 'x' : 11, 'y' : 2}
. Надрукуйте спільні пари «ключ-значення» для обох словників у форматі як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
('y', 2)
Розділ: Словники і множини | Рівень складності: середній
-
Дано три словники, в яких ключами є малі букви латинського алфавіту, а значеннями - цілі числа. Ключі у всіх словниках – різні, їх є по
3
в кожному словнику. Об’єднайте всі три словники в один і виведіть його вміст. Підказка. скористайтеся оператором **, що використовується для об’єднання довільної кількості словників (Python 3.5+
).
Вхідні дані:
Немає
Вихідні дані:
{'x': 1, 'y': 2, 'z': 3, 'w': 10, 'f': 11, 'g': 2, 'n': 10, 'm': 11, 'e': 2}
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму для обчислення частоти слів у введеному рядку. Виведення має бути у порядку, що зворотний буквенно-цифровому порядку.
Вхідні дані:
The five boxing wizards jump quickly
Вихідні дані:
wizards: 1 quickly: 1 jump: 1 five: 1 boxing: 1 The: 1
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму, яка підраховує і роздруковує кількість появ кожного символу у введеному рядку.
Вхідні дані:
abcabcdfghj
Вихідні дані:
a, 2 b, 2 c, 2 d, 1 f, 1 g, 1 h, 1 j, 1
Розділ: Словники і множини | Рівень складності: середній
-
Створіть словник, який відображає ідентифікатори акцій на біржі. Ключами словника є ідентифікатори акцій, а значеннями - дійсні числа - ціни акцій. Надрукуйте ціни акцій для мінімального і максимального значення ціни відповідно та їх ідентифікатори.
Вхідні дані:
Немає
Вихідні дані:
10.75 FB 612.78 AAPL
Розділ: Словники і множини | Рівень складності: середній
-
Створіть словник, який відображає ідентифікатори акцій на біржі. Ключами словника є ідентифікатори акцій, а значеннями - дійсні числа - ціни акцій. Надрукуйте ціни акцій та ідентифікатори у порядку зростання ціни.
Вхідні дані:
Немає
Вихідні дані:
10.75 FB 37.2 HPQ 45.23 ACME 205.55 IBM 612.78 AAPL
Розділ: Словники і множини | Рівень складності: середній
-
Створіть словник, який відображає ідентифікатори акцій на біржі. Ключами словника є ідентифікатори акцій, а значеннями - дійсні числа - ціни акцій. На основі цього словника створіть програмно словник, який містить значення цін акцій, які більше якогось введеного цілого значення
n
, і виведіть елементи другого словника.
Вхідні дані:
200
Вихідні дані:
AAPL 612.78 IBM 205.55
Розділ: Словники і множини | Рівень складності: середній
-
Створіть словник, який відображає ідентифікатори акцій на біржі. Ключами словника є ідентифікатори акцій, а значеннями - дійсні числа - ціни акцій. На основі цього словника створіть програмно словник із значеннями акцій технологічних компаній.
Вхідні дані:
Немає
Вихідні дані:
AAPL 612.78 IBM 205.55 HPQ 37.2
Розділ: Словники і множини | Рівень складності: середній
-
В рядку записаний текст. Словом вважається послідовність непробільних символів, які йдуть підряд, слова розділені одним або більшим числом пропуском або символами кінця рядка. Для кожного слова з цього тексту підрахуйте, скільки разів воно зустрічалося в цьому тексті раніше.
Вхідні дані:
var list set tuple list tuple tuple dict var
Вихідні дані:
0 0 0 0 1 1 2 0 1
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму для сортування за зростанням словника за значеннями. Словник зберігає пари ключ-значення у вигляді «країна: столиця». Інформація виводиться як у вихідних даних: сортування має бути проведено за назвами столиць. Примітка. При використанні метода
sorted
, можна застосувати як ключ лямбда-функцію на зразокkey=lambda x: x[1]
.
Вхідні дані:
Немає
Вихідні дані:
[('China', 'Beijing'), ('Denmark', 'Copenhagen'), ('Ukraine', 'Kyiv'), ('Canada', 'Ottawa'), ('France', 'Paris')]
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму для сортування за спаданням словника за значеннями. Словник зберігає пари ключ-значення у вигляді «країна: столиця». Інформація виводиться як у вихідних даних: сортування має бути проведено за назвами столиць у порядку, протилежному алфавітному. Примітка. При використанні метода
sorted
, можна застосувати як ключ лямбда-функцію на зразокkey=lambda x: x[1]
.
Вхідні дані:
Немає
Вихідні дані:
[('France', 'Paris'), ('Canada', 'Ottawa'), ('Ukraine', 'Kyiv'), ('Denmark', 'Copenhagen'), ('China', 'Beijing')]
Розділ: Словники і множини | Рівень складності: середній
-
Дано словник, у якому ключами є назви
10
карпатських вершин, а значеннями - їх висота у метрах. Елементи у словнику невпорядковані. Напишіть програму для виведення висоти трьох найвищих гір. Примітка. При використанні методаsorted
, можна застосувати як ключ лямбда-функцію на зразокkey=lambda x: x[1]
.
Вхідні дані:
Немає
Вихідні дані:
Hoverla: 2061 m Brebenescul: 2032 m Pip Ivan Chernogirsky (Chorna gora): 2028 m
Розділ: Словники і множини | Рівень складності: середній
-
Дано словник, в якому ключами назви країн-чемпіонів світу з футболу, а значеннями - список років, в які вони ставали чемпіонами. Елементи у словнику і у списку невпорядковані. Напишіть програму для впорядкування значень років в алфавітному порядку і виведення словника.
Вхідні дані:
Немає
Вихідні дані:
{'Brazil': [1958, 1962, 1970, 1994, 2002], 'England': [1966], 'Italy': [1934, 1938, 1982, 2006], 'Spain': [2010], 'Germany': [1954, 1974, 1990, 2014], 'France': [1998, 2018], 'Uruguay': [1930, 1950], 'Argentina': [1978, 1986]}
Розділ: Словники і множини | Рівень складності: середній
-
Дано словник, в якому ключами є ідентифікатори абітурієнтів у форматі
S x
: літераS
, пропуски,x
- порядковий номер абітурієнта, а значеннями - список назв навчальних предметів, з яких абітурієнт буде здавати екзамен. Напишіть програму для друку створеного словника і словника, в якому видалені пропуски із ключів.
Вхідні дані:
Немає
Вихідні дані:
{'S 001': ['Math', 'Computer Science'], 'S 002': ['Math', 'English'], 'S 003': ['Philosophy', 'English', 'Physical training']} {'S001': ['Math', 'Computer Science'], 'S002': ['Math', 'English'], 'S003': ['Philosophy', 'English', 'Physical training']}
Розділ: Словники і множини | Рівень складності: середній
-
Дано словник, у якому ключами є назви фруктів, а значеннями - список значень у вигляді
[Білки (г), Жири (г), Вуглеводи (г), Ккал/100 г]
. Елементи у словнику невпорядковані. Напишіть програму для виведення номера елемента, ключа і значення елемента у словнику як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
1 Apricots 0.9 0 10.5 46 2 Grape 0.4 0 17.5 69 3 Orange 0.9 0 8.4 38 4 Ananas 0.4 0 11.8 48 5 Apples 0.4 0 11.3 46 6 Pear 0.4 0 10.7 42 7 Kiwi 0.8 0 8.1 47
Розділ: Словники і множини | Рівень складності: середній
-
Дано словник, що складається з пар слів. Кожне слово є синонімом до парного йому слова. Всі слова в словнику різні. Для даного слова визначте його синонім. Програма отримує на вхід кількість пар синонімів
n
. Далі йдеn
рядків, кожен рядок містить рівно два слова-синоніми. Після цього вводиться одне слово. Програма повинна вивести синонім до даного слова.
Вхідні дані:
3 Solar Heliac Day Daytime Arrive Occur Heliac
Вихідні дані:
Solar
Розділ: Словники і множини | Рівень складності: середній
-
У вхідному рядку записана послідовність чисел через пропуск. Для кожного числа виведіть слово
YES
(в окремому рядку), якщо це число раніше зустрічалося в послідовності абоNO
, якщо не зустрічалося. Вводиться список чисел. Всі числа списку знаходяться на одному рядку. Для зберігання значень використайте словник.
Вхідні дані:
4 6 1 8 4 9 0 1
Вихідні дані:
NO NO NO NO YES NO NO YES
Розділ: Словники і множини | Рівень складності: середній
-
Вводиться кількість слів у словнику. Словник складається з пар слів. Кожне слово є синонімом іншого слова. Всі слова в словнику різні. Після введення словника вводиться ще одне слово. Знайти синонім для нього.
Вхідні дані:
3 amazing extraordinary beautiful magnificent delicious savory extraordinary
Вихідні дані:
amazing
Розділ: Словники і множини | Рівень складності: середній
-
На вхід програми подається послідовність чисел від
1
до9
, що закінчується нулем. Всього буде введено не більше100000
чисел. Підрахуйте в цій послідовності кількість одиниць, кількість двійок, кількість трійок і т. д. і надрукуйте результат. У вихідних даних завжди має бути9
чисел.
Вхідні дані:
1 1 4 1 5 8 6 3 5 1 0
Вихідні дані:
4 0 1 1 2 1 0 1 0
Розділ: Словники і множини | Рівень складності: середній
-
Дано текст англійською мовою. Крім англійських букв, в ньому можуть зустрічатися пропуски і розділові знаки. Надрукуйте відомості про те, скільки яких букв зустрічається в цьому тексті (вивести
26
чисел). При підрахунку великі та малі літери не розрізняються.
Вхідні дані:
Hello world!
Вихідні дані:
0 0 0 1 1 0 0 1 0 0 0 3 0 0 2 0 0 1 0 0 0 0 1 0 0 0
Розділ: Словники і множини | Рівень складності: середній
-
Потрібно написати програму, яка здійснює перетворення з однієї одиниці вимірювання довжини в інші. Повинні підтримуватись
милі (1 mile = 1609 m) ярди (1 yard = 0.9144 m) фути (1 foot = 30.48 cm) дюйми (1 inch = 2.54 cm) кілометри (1 km = 1000 m) метри (m) сантиметри (1 cm = 0.01 m) міліметри (1 mm = 0.001 m)
Використовуйте саме зазначені в формулюванні завдання одиниці виміру з вказаною точністю. Вводиться один рядок з фразою такого виду
<number> <unit_from> in <unit_to>
Програма має вивести дробове число в експоненційному форматі, з точністю рівно два знаки після десяткової крапки.
Вхідні дані:
15.5 foot in mile 15.5 mile in km 15.5 mile in inch
Вихідні дані:
2.94e-03 2.49e+01 9.82e+05
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму, яка приймає послідовність чисел і визначає, чи всі числа відрізняються один від одного чи ні. Використовувати цикли не можна.
Вхідні дані:
1 4 5 0 2 4 1 6 9 10
Вихідні дані:
duplicate list is unique sequence
Розділ: Словники і множини | Рівень складності: середній
-
Вводиться текст в одному рядку. Для кожного слова тексту підрахуйте кількість його входжень перед ним.
Вхідні дані:
one two one two three two four three
Вихідні дані:
0 0 1 1 0 2 0 1
Розділ: Словники і множини | Рівень складності: середній
-
Вводяться
n
рядків зі скороченими назвами країн і повними назвами міст кожної країни, після цього вводятьсяm
рядків з назвами міст. Напишіть програму, яка для кожного міста друкує скорочену назву країну, в якій місто знаходиться.
Вхідні дані:
5 UA Kyiv Zhytomyr Ternopil Dnipro JP Tokyo Osaka Kyoto CA Montreal Toronto Ottawa USA Boston Pittsburgh Washington Seattle UK London Edinburgh Cardiff Belfast 3 Seattle London Kyiv
Вихідні дані:
USA UK UA
Розділ: Словники і множини | Рівень складності: середній
-
У першому рядку вводиться кількість рядків, потім задаються самі рядки слів, розділених пропусками. Виведіть слово, яке у рядках зустрічається найчастіше. Якщо таких слів декілька, надрукуйте те, що розміщується вище в алфавітному порядку.
Вхідні дані:
2 apple orange banana banana orange
Вихідні дані:
banana
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму для підрахунку повторюваних символів у введеному рядку.
Вхідні дані:
the quick brown fox jumps over the lazy dog
Вихідні дані:
t 2 h 2 e 3 8 u 2 r 2 o 4
Розділ: Словники і множини | Рівень складності: середній
-
Дано дві послідовності цілих чисел. Надрукуйте числа, які присутні в обох послідовностях.
Вхідні дані:
1 5 8 0 2 9 8 3 6 7 1
Вихідні дані:
8 1
Розділ: Словники і множини | Рівень складності: середній
-
Дано дві послідовності цілих чисел. Надрукуйте нову послідовність, яка об’єднує числа, що присутні в обох послідовностях, без дублікатів.
Вхідні дані:
1 5 8 0 2 9 8 3 6 7 1
Вихідні дані:
0 1 2 3 5 6 7 8 9
Розділ: Словники і множини | Рівень складності: середній
-
Дано список значень різних типів даних. Створіть словник із значеннями списку як ключами, і назвами відповідного типу даних як значеннями словника. У словнику можуть бути присутні дані одного типу. Надрукуйте вміст словника як у вихідних даних.
Вхідні дані:
Немає
Вихідні дані:
<class 'int'> 1952 1000000 <class 'float'> 10.45 5.5 <class 'complex'> (2+3j) <class 'bool'> False <class 'str'> pythonguide.pp.ua <class 'tuple'> (1, -6) <class 'list'> [3, 15] <class 'dict'> {'Class C': ['Volkswagen Golf', 'Ford Focus'], 'Class F': ['Audi A8', 'Bentley', 'Maybach'], 'E': ['Toyota Camry']} {} <class 'NoneType'> None
Розділ: Словники і множини | Рівень складності: середній
-
Дано послідовність цілих чисел. Для кожного числа надрукуйте слово
YES
(в окремому рядку), якщо це число вже зустрічалось в послідовності, і надрукуйтеNO
, якщо воно ще не було виявлено. Для зберігання значень використайте множину
Вхідні дані:
1 4 5 2 10 15 4 10 3
Вихідні дані:
NO NO NO NO NO NO YES YES NO
Розділ: Словники і множини | Рівень складності: середній
-
Напишіть програму, яка зможе підрахувати слова у введеному рядку, розділені пропуском і вивести отриману статистику: для кожного унікального слова обчислити число його повторень (без урахування регістру), слова не повинні повторюватися, порядок слів довільний.
Вхідні дані:
a bb acD bb abc ac BCD a
Вихідні дані:
a 2 bb 2 acd 1 abc 1 ac 1 bcd 1
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму, яка приймає на вхід список ігор футбольних команд з результатом матчу і виводить зведену таблицю результатів всіх матчів. За перемогу команді нараховується
3
очки, за поразку -0
, за нічию -1
. Формат введення наступний: у першому рядку вказано ціле числоn
- кількість завершених ігор. Після цього йдеn
рядків, в яких записані результати гри в наступному форматі:
1_команда;забито_1_командою;2_команда;забито_2_командою
Результати виведення програми необхідно оформити наступним чином:
Команда: Всього_ігор Перемог Нічиїх Поразок Всього_очок
Конкретний приклад введення-виведення наведено у вхідних і вихідних даних. Порядок виведення команд довільний.
Вхідні дані:
4 Ukraine;2;France;1 Italy;1;Germany;3 France;0;Italy;0 Germany;2;Ukraine;0
Вихідні дані:
Ukraine: 2 1 0 1 3 France: 2 0 1 1 1 Italy: 2 0 1 1 1 Germany: 2 2 0 0 6
Розділ: Словники і множини | Рівень складності: високий
-
Дано два списки чисел. Знайдіть всі числа, що зустрічаються як в першому, так і другому списках, і надрукуйте їх у порядку зростання.
Вхідні дані:
2 5 8 11 10 9 11 3 7 6 8 5
Вихідні дані:
5 8 11
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму, яка вміє шифрувати і розшифровувати використовуючи шифр підстановки. Програма приймає на вхід два рядки однакової довжини, у першому рядку записані символи початкового алфавіту, у другому рядку - символи кінцевого алфавіту (шифр підстановки), після чого йде рядок, який потрібно зашифрувати переданим шифром підстановки, і ще один рядок, який потрібно розшифрувати. Нехай, наприклад, на вхід програми передано:
abcd *d%# abacabadaba #*%*d*%
Це означає, що символ a
вхідного повідомлення замінюється на символ *
в шифрі, b
замінюється на d
, c
- на %
і d
- на #
. Потрібно зашифрувати рядок abacabadaba
і розшифрувати рядок #*%*d*%
за допомогою цього шифру. Отримуємо наступні рядки, які і передаємо на виведення програми:
*d*%*d*#*d* dacabac
Вхідні дані:
abcd 1234 ababcdcd 44332211
Вихідні дані:
12123434 ddccbbaa
Розділ: Словники і множини | Рівень складності: високий
-
Дано ціле число
n
, за яким слідуютьn
рядків тексту. Надрукуйте кількість різних слів, які з’являються у тексті. Для цього ми визначаємо, що слово - це послідовність символів, що не містить пропусків. Слова розділені одним або декількома пропусками або символами нового рядка. Знаки пунктуації є частиною слова в цьому визначенні.
Вхідні дані:
3 A fool is a person who thinks he's smarter than me. Yet wolves are more noble sheep, it is difficult for them to imagine their life without the latter. And the sheep?! It's shame to say! Only when he left the chariot, everyone understood that it was a coachman.
Вихідні дані:
43
Розділ: Словники і множини | Рівень складності: високий
-
Дано список цілих чисел, який може містити до
100000
чисел. Визначте, скільки в ньому зустрічається різних чисел.
Вхідні дані:
2 5 7 7 9 0 3 4 3 3 4 4 5 1
Вихідні дані:
7 4
Розділ: Словники і множини | Рівень складності: високий
-
Дано послідовність слів, розділених комами. Надрукуйте унікальні слова у лексикографічному порядку як у вихідних даних.
Вхідні дані:
abc,abc,bac,aca
Вихідні дані:
abc,aca,bac
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму для пошуку загальних елементів з двох введених рядків слів.
Вхідні дані:
Red Green Orange White Black Green White Pink
Вихідні дані:
White Green
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму для пошуку загальних елементів з двох введених рядків слів.
Вхідні дані:
Немає
Вихідні дані:
('jacket', 2200.56) ('boots', 1179.99) ('trousers', 843.38)
Розділ: Словники і множини | Рівень складності: високий
-
Дано дві послідовності цілих чисел. Необхідно надрукувати обидві послідовності з числами, які відсутні в іншій послідовності.
Вхідні дані:
1 3 4 5 8 9 12 3 4 7 8 12
Вихідні дані:
1 5 9 7
Розділ: Словники і множини | Рівень складності: високий
-
Дано рядок тексту, в якому слова розділені пррпусками. Надрукуйте всі слова, які зустрічаються в тексті, та їхні частоти як у вихідних даних.
Вхідні дані:
one two three one four five seven ten seven one
Вихідні дані:
('one', 3) ('four', 1) ('seven', 2) ('ten', 1) ('three', 1) ('two', 1) ('five', 1)
Розділ: Словники і множини | Рівень складності: високий
-
Дано два списки чисел, які можуть містити до
100000
чисел кожен. Порахуйте, скільки чисел міститься одночасно як в першому списку, так і в другому списках. Вводяться два списки цілих чисел. Всі числа кожного списку знаходяться на окремому рядку.
Вхідні дані:
3 5 8 5 2 3
Вихідні дані:
2
Розділ: Словники і множини | Рівень складності: високий
-
Дано два списки чисел, які можуть містити до
10000
чисел кожен. Виведіть всі числа, які входять як в перший, так і в другий список в порядку зростання. Вводяться два списки цілих чисел. Всі числа кожного списку знаходяться на окремому рядку.
Вхідні дані:
4 6 8 9 1 9 3 6
Вихідні дані:
6 9
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму, яка приймає на вхід список цілих чисел, розділених пропуском, і виводить на екран значення, які повторюються в ньому більш ніж один раз. При виведенні числа не повинні повторюватися, порядок виведення може бути довільним.
Вхідні дані:
4 6 10 14 6 9 10 11
Вихідні дані:
6 10
Розділ: Словники і множини | Рівень складності: високий
-
Дано рядок слів, розділених пропусками. Надрукуйте довжину найдовшого слова.
Вхідні дані:
aaa aaaaa aa a aaaaa
Вихідні дані:
5
Розділ: Словники і множини | Рівень складності: високий
-
Дано список країн і міст кожної країни. Потім подані назви міст. Для кожного міста вкажіть, в якій країні воно знаходиться. Програма отримує на вхід кількість країн
n
. Далі йдеn
рядків, кожен рядок починається з назви країни, потім йдуть назви міст цієї країни. У наступному рядку записано числоm
, далі йдутьm
запитів - назви якихосьm
міст, перерахованих вище. Для кожного із запиту виведіть назву країни, в якій знаходиться дане місто.
Вхідні дані:
2 Ukraine Kyiv Kharkiv Lviv England London Liverpool Manchester Bristol 3 Kyiv London Lviv
Вихідні дані:
Ukraine England Ukraine
Розділ: Словники і множини | Рівень складності: високий
-
Користувачем вводяться наступні дані: у першому рядку міститься кількість рядків
n
, а потім - вводятьсяn
рядків слів. Надрукуйте слово, яке в тексті зустрічається найчастіше. Якщо таких слів є декілька, надрукуйте слово, яке в алфавітному порядку розташоване раніше.
Вхідні дані:
3 editor detective baker scientist singer teacher teacher scientist
Вихідні дані:
scientist
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму, яка виводить число в стилі
LCD
-калькулятора. На вхід програми подається послідовність цифр, яку потрібно вивести на екран в спеціальному стилі. Розмір всіх цифр4
символу в ширину і7
символів у висоту. Між цифрами повинен бути один порожній стовпець. Перед першою цифрою не повинно бути пропусків. Виведені цифри повинні бути обведені рамочкою, в кутах якої знаходиться символx
, горизонтальна лінія створюється з символу-
, а вертикальна - з символу вертикальної риски|
. Користувач вводить рядок - послідовність цифр, а програма має вивести9
рядків, що містять цифри, записані в зазначеному форматі.
Вхідні дані:
0123456789 123 4
Вихідні дані:
x--------------------------------------------------x | -- -- -- -- -- -- -- -- | || | | | | | | | | | | | | | | || | | | | | | | | | | | | | | | -- -- -- -- -- -- -- | || | | | | | | | | | | | | | || | | | | | | | | | | | | | | -- -- -- -- -- -- -- | x--------------------------------------------------x x---------------x | -- -- | | | | | | | | | | | | -- -- | | | | | | | | | | | | -- -- | x---------------x x-----x | | || | | || | | | -- | | | | | | | | | x-----x
Розділ: Словники і множини | Рівень складності: високий
-
Комп’ютерний вірус атакував файлову систему суперкомп’ютера і пошкодив контроль прав доступу до файлів. Для кожного файлу є відомий набір операцій, які можуть бути застосовані до нього: писати (
W
), читати (R
), виконати (X
). Перший рядок містить числоn
- кількість файлів, що містяться у файловій системі. Наступніn
рядків містять імена файлів і дозволені операції з ними, розділені пропусками. Наступний рядок містить ціле числоm
- кількість операцій з файлами. В наступних m рядках записані операції, які виконуються над файлами. До одного файлу можна звертатися багато разів. Для кожного запиту програма повинна надрукуватиOK
, якщо запитана операція з файлом є можливою, абоAccess denied
, якщо операцію виконати неможливо.
Вхідні дані:
4 helloworld.py R X pinglog W R scripts R goodluck X W R 5 read scripts write helloworld.py execute scripts read pinglog write pinglog
Вихідні дані:
OK Access denied Access denied OK OK
Розділ: Словники і множини | Рівень складності: високий
-
На шаховій дошці стоїть кінь. Відзначте положення коня на дошці і всі клітинки, які б’є кінь. Клітинку, де стоїть кінь, відзначте буквою
K
, клітинки, які б’є кінь, відзначте символами*
, решта клітинок заповніть крапками. Програма отримує на вхід координати коня на шаховій дошці в шаховій нотації, тобто, у виглядіe2
, де спочатку записується номер стовпця (буква відa
доh
, зліва направо), потім номер рядка (цифра від1
до8
, знизу догори). Виведіть на екран зображення шахової дошки як у вихідних даних.
Вхідні дані:
e4
Вихідні дані:
. . . . . . . . . . . . . . . . . . . * . * . . . . * . . . * . . . . . K . . . . . * . . . * . . . . * . * . . . . . . . . . .
Розділ: Словники і множини | Рівень складності: високий
-
На шаховій дошці стоїть ферзь. Відзначте положення ферзя на дошці і всі клітинки, які б’є ферзь. Клітинку, де стоїть ферзь, відзначте буквою
Q
, клітинки, які б’є ферзь, відзначте символами*
, решта клітинок заповніть крапками. Програма отримує на вхід координати ферзя на шаховій дошці в шаховій нотації, тобто, у виглядіe2
, де спочатку записується номер стовпця (буква відa
доh
, зліва направо), потім номер рядка (цифра від1
до8
, знизу догори). Виведіть на екран зображення шахової дошки як у вихідних даних.
Вхідні дані:
f3
Вихідні дані:
* . . . . * . . . * . . . * . . . . * . . * . . . . . * . * . * . . . . * * * . * * * * * Q * * . . . . * * * . . . . * . * . *
Розділ: Словники і множини | Рівень складності: високий
-
На шаховій дошці стоїть слон. Відзначте положення слона на дошці і всі клітинки, які б’є слон. Клітинку, де стоїть слон, відзначте буквою
B
, клітинки, які б’є слон, відзначте символами*
, решта клітинок заповніть крапками. Програма отримує на вхід координати слона на шаховій дошці в шаховій нотації, тобто, у виглядіe2
, де спочатку записується номер стовпця (буква відa
доh
, зліва направо), потім номер рядка (цифра від1
до8
, знизу догори). Виведіть на екран зображення шахової дошки як у вихідних даних.
Вхідні дані:
g4
Вихідні дані:
. . * . . . . . . . . * . . . . . . . . * . . . . . . . . * . * . . . . . . B . . . . . . * . * . . . . * . . . . . . * . . . .
Розділ: Словники і множини | Рівень складності: високий
-
На шаховій дошці стоїть тура. Відзначте положення тури на дошці і всі клітинки, які б’є тура. Клітинку, де стоїть тура, відзначте буквою
R
, клітинки, які б’є тура, відзначте символами*
, решта клітинок заповніть крапками. Програма отримує на вхід координати тури на шаховій дошці в шаховій нотації, тобто, у виглядіe2
, де спочатку записується номер стовпця (буква відa
доh
, зліва направо), потім номер рядка (цифра від1
до8
, знизу догори). Виведіть на екран зображення шахової дошки як у вихідних даних.
Вхідні дані:
h5
Вихідні дані:
. . . . . . . * . . . . . . . * . . . . . . . * * * * * * * * R . . . . . . . * . . . . . . . * . . . . . . . * . . . . . . . *
Розділ: Словники і множини | Рівень складності: високий
-
На шаховій дошці стоїть король. Відзначте положення короля на дошці і всі клітинки, які б’є король. Клітинку, де стоїть король, відзначте буквою
K
, клітинки, які б’є король, відзначте символами*
, решта клітинок заповніть крапками. Програма отримує на вхід координати короля на шаховій дошці в шаховій нотації, тобто, у виглядіe2
, де спочатку записується номер стовпця (буква відa
доh
, зліва направо), потім номер рядка (цифра від1
до8
, знизу догори). Виведіть на екран зображення шахової дошки як у вихідних даних.
Вхідні дані:
c5
Вихідні дані:
. . . . . . . . . . . . . . . . . * * * . . . . . * K * . . . . . * * * . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Розділ: Словники і множини | Рівень складності: високий
-
Програма отримує на вхід координати певної клітинки на шаховій дошці в шаховій нотації, тобто, у вигляді
e2
, де спочатку записується номер стовпця (буква відa
доh
, зліва направо), потім номер рядка (цифра від1
до8
, знизу догори). Виведіть на екран зображення шахової дошки, в якому вказаний колір клітинки:B
(чорний колір) абоW
(білий колір).
Вхідні дані:
b6
Вихідні дані:
. . . . . . . . . . . . . . . . . B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Розділ: Словники і множини | Рівень складності: високий
-
Двоє друзів вирішили здійснити влітку сходження в гори Карпати. Кожен з них зібрав свій рюкзак речей. Перевірте, які речі присутні в обох рюкзаках друзів, які є лише в першому рюкзаку, але не має в другому і, навпаки, є в другому і відсутні в першому. Дано два словники, у яких ключами є назви речей, а значеннями - кількості речей. Надрукуйте назви речей і їх кількості, які пристутні в обох рюкзаках друзів, лише в першому рюкзаку і лише в другому рюкзаку.
Вхідні дані:
Немає
Вихідні дані:
In both: first aid kit 1 lighter 2 sunglasses 1 trousers 2 hygienic set 1 flashlight 1 footwear 2 socks 3 sleeping bag 1 Only in the first: water jacket 1 cap 1 dishes 2 woolen gloves 1 tent 1 Only in the other: batteries 4 poncho 1 t-shirts 3
Розділ: Словники і множини | Рівень складності: високий
-
У римській системі числення для позначення чисел використовуються наступні символи (праворуч записані числа, яким вони відповідають в десятковій системі числення):
I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000
Будемо використовувати варіант, в якому числа 4
, 9
, 40
, 90
, 400
і 900
записуються як віднімання від більшого числа меншого: IV
, IX
, XL
, XC
, CD
і CM
, відповідно. Напишіть програму, яка за введеним натуральним числом n
(0 < n < 4000
) виведе рядок, що містить число, закодоване в римській системі числення.
Вхідні дані:
2022 11 1
Вихідні дані:
MMXXII XI I
Розділ: Словники і множини | Рівень складності: високий
-
На вхід програми подається рядок, що містить слова, розділені пропуском. Програма повинна вивести статистику довжин слів в отриманому рядку, від меншої довжини слова до більшої. Словом вважається послідовність довільних символів, оточена пропусками або межами рядка. Зауважте, що розділові знаки також відносяться до слова. Користувач вводить один рядок, що містить послідовності англійських символів і знаків пунктуації, розділені пропуском. Для кожної довжини слова, що зустрічається в заданому рядку, потрібно вказати кількість слів з такою довжиною у форматі «довжина: кількість». Статистика повинна виводитися в порядку збільшення довжини.
Вхідні дані:
Errors should never pass silently.
Вихідні дані:
4: 1 5: 1 6: 2 9: 1
Розділ: Словники і множини | Рівень складності: високий
-
На вхід програми подається рядок, який містить одне ціле число
n
- кількість англійських слів у англійсько-латинському словнику, за якими йдутьn
перекладів цих слів. Кожен запис міститься в окремому рядку, що містить перше англійське слово, потім дефіс, оточений пропусками, а потім розділений комами список з перекладами цього англійського слова на латинській мові. Всі слова складаються лише з англійських літер. Переклади сортуються в лексикографічному порядку. Порядок англійських слів у словнику також лексикографічний. Надрукуйте відповідний латинсько-англійський словник у тому ж форматі (кількість слів та їхні переклади). Зокрема, першим у рядку слів має бути лексикографічно мінімальний переклад латинського слова, потім другого в цьому порядку і т. д. Англійські слова в кожному рядку також слід сортувати лексикографічно.
Вхідні дані:
3 apple - malum, pomum, popula fruit - baca, bacca, popum punishment - malum, multa
Вихідні дані:
7 baca - fruit bacca - fruit malum - apple, punishment multa - punishment pomum - apple popula - apple popum - fruit
Розділ: Словники і множини | Рівень складності: високий
-
Дано текст в рядку. Виведіть слово, яке в цьому тексті зустрічається найчастіше. Якщо таких слів кілька, виведіть те, яке менше в лексикографічному порядку.
Вхідні дані:
Tokyo Seoul London Sofia Tokyo Sydney London
Вихідні дані:
London
Розділ: Словники і множини | Рівень складності: високий
-
Кожен з
n
школярів деякої школи знаєm
мов. Визначте, які мови знають всі школярі і мови, які знає хоча б один з школярів. Перший рядок вхідних даних містить кількість школярівn
. Далі йдеn
чиселm
, після кожного з чисел йдеm
рядків, що містять назви мов, які знаєi
-й школяр. Довжина назв мов не перевищує1000
символів, кількість різних мов не більше1000
(1 ≤ n ≤ 1000
,1 ≤ m ≤ 500
). У першому рядку виведіть кількість мов, які знають усі школярі. Починаючи з другого рядка - список таких мов. Потім - кількість мов, які знає хоча б один школяр, на наступних рядках - список таких мов.
Вхідні дані:
3 3 Ukrainian English Polish 2 Ukrainian English 1 English
Вихідні дані:
1 English 3 English Polish Ukrainian
Розділ: Словники і множини | Рівень складності: високий
-
Напишіть програму, яка для двох послідовностей, що складаються з натуральних чисел, що не перевершують
n
, буде визначати, які числа зустрічаються в кожній з послідовностей, а які з чисел від1
доn
- в жодній з них. Спочатку на вхід програмі подається числоn
(1 ≤ n ≤ 255
). У другому рядку вхідних даних знаходяться елементи першої послідовності, у третьому рядку - елементи другої послідовності. Виведіть у першому рядку в порядку зростання без повторень числа, які зустрічаються в кожній з послідовностей, а у другому рядку - в порядку зростання числа від1
до255
, які не зустрічаються в жодній з них.
Вхідні дані:
7 3 2 4 5 2 2 7 4 3 4 2
Вихідні дані:
2 3 4 1 6
Розділ: Словники і множини | Рівень складності: високий
-
Вчителька задала Оленці домашнє завдання - в заданому тексті розставити наголоси в словах, після чого доручила Сашку перевірити це домашнє завдання. Сашко дуже погано знайомий з цією темою, тому він знайшов словник, в якому зазначено, як ставляться наголоси в словах. На жаль, в цьому словнику присутні не всі слова. Сашко вирішив, що в словах, яких немає в словнику, він буде вважати, що Оленка поставила наголоси правильно, якщо в цьому слові Оленкою поставлений рівно один наголос. Виявилося, що в деяких словах наголос може бути поставлений більше, ніж одним способом. Сашко вирішив, що в цьому випадку якщо те, як Оленка поставила наголос, відповідає одному з наведених в словнику варіантів, він буде зараховувати це як правильне розставлення наголосів, а якщо не відповідає, то як помилку.
-
Дано словник, яким користувався Сашко і домашнє завдання, здане Оленкою. Ваше завдання - визначити кількість помилок, яку в цьому завданні нарахує Сашко.
-
Вводиться спочатку число
n
- кількість слів у словнику (0 ≤ n ≤ 20000
). -
Далі йде
n
рядків зі словами із словника. Кожне слово складається не більше ніж з30
символів. Всі слова складаються з маленьких і великих латинських букв. У кожному слові велика одна буква - та, на яку потрапляє наголос. Слова в словнику розташовані в алфавітному порядку. Якщо є кілька можливостей розстановки наголосів в одному й тому самому слові, то ці варіанти в словнику йдуть в довільному порядку. -
Далі йде вправа, виконана Оленкою. Вправа є рядком тексту, сумарним обсягом не більше
300000
символів. Рядок складається з слів, які розділяються між собою рівно одним пропуском. Довжина кожного слова не перевищує30
символів. Всі слова складаються з маленьких і великих латинських букв (великими позначені ті букви, над якими Оленка поставила наголос). Оленка могла помилково в якомусь слові поставити більше одного наголосу або не поставити наголоси зовсім. -
Виведіть кількість помилок в тексті, що написала Оленка, які знайде Сашко.
-
Примітки.
-
В слові
cannot
, відповідно до словника можливо два варіанти розстановки наголосів. Ці варіанти в словнику можуть бути перераховані в будь-якому порядку (тобто як спочаткуcAnnot
, а потімcannOt
, так і навпаки). Дві помилки, вчинені Оленкою - це словаbe
(наголос взагалі не поставлено) іfouNd
(наголос поставлено неправильно). СловоthE
відсутнє в словнику, але оскільки в ньому Оленка поставила рівно один наголос, є правильним. -
Неправильно розставлені наголоси у всіх словах, крім
The
(воно відсутнє в словнику, в ньому поставлено рівно один наголос). В інших словах або ударні всі букви (в словіPAGE
), або не поставлено жодного наголосу.
-
-
Вхідні дані:
4 cAnnot cannOt fOund pAge thE pAge cAnnot be found
Вихідні дані:
2
Розділ: Словники і множини | Рівень складності: високий
-
Вводиться число
n
, за яким слідуютьn
рядків тексту. Напишіть програму, яка друкує всі слова, що зустрічаються в тексті, по одному на рядок, і їхню кількість входжень у текст. Слова повинні бути відсортовані в порядку спадання відповідно до їх кількості, і всі слова при однаковому числі входжень у текст повинні бути надруковані в лексикографічному порядку. Вказівка. Після того, як ви створите словник усіх слів, вам захочеться впорядкувати його по частоті слова. Бажаного можна домогтися, якщо створити список, елементами якого будуть кортежі з двох елементів: частота зустрічальності слова і саме слово. Наприклад,[(2, 'hi'), (1, 'what'), (3, 'is')]
. Тоді стандартне сортування буде сортувати список кортежів, при цьому кортежі порівнюються по першому елементу, а якщо ці елементи рівні - то по другому.
Вхідні дані:
9 hi hi what is your name my name is bond james bond my name is damme van damme claude van damme jean claude van damme
Вихідні дані:
damme 4 is 3 name 3 van 3 bond 2 claude 2 hi 2 my 2 james 1 jean 1 what 1 your 1
Розділ: Словники і множини | Рівень складності: високий
-
Сашко і Оленка грають в гру. Сашко загадав натуральне число від
1
доn
. Оленка намагається вгадати це число, для цього вона називає деякі послідовності натуральних чисел. Сашко відповідає ОленціYES
, якщо серед названих нею чисел є задумане абоNO
в іншому випадку. Після декількох заданих питань Оленка заплуталася в тому, які питання вона задавала і які відповіді отримала і просить вас допомогти їй визначити, які числа міг задумати Сашко. Перший рядок вхідних даних містить числоn
- найбільше число, яке міг загадати Сашко. Далі йдуть рядки, які містять питання Оленки. Кожен рядок представляє собою набір чисел, розділених пропусками. Після кожного рядка з питанням йде відповідь Сашка:YES
абоNO
. Нарешті, останній рядок вхідних даних містить одне словоHELP
. Ви повинні вивести (через пропуск, в порядку зростання) всі числа, які міг задумати Сашко.
Вхідні дані:
12 1 2 3 5 7 9 YES 3 7 9 11 12 NO HELP
Вихідні дані:
1 2 5
Розділ: Словники і множини | Рівень складності: високий
-
Сашко і Оленка продовжують грати в гру, але Сашко почав шахраювати. На кожне з питань Оленки він вибирає такий варіант відповіді
YES
абоNO
, щоб послідовність можливих задуманих чисел залишалася якомога більшою. Наприклад, якщо Сашко задумав число від1
до5
, а Оленка запитала про числа1
і2
, то Сашко відповістьNO
, а якщо Оленка запитає про1
,2
,3
, то Сашко відповістьYES
. Якщо ж Оленка в своєму питанні перераховує рівно половину з задуманих чисел, то Сашко завжди відповідаєNO
. Нарешті, Сашко при відповіді враховує всі попередні питання Оленки і свої відповіді на них, тобто множина можливих задуманих чисел зменшується. Вам дано послідовність питань Оленки. Наведіть відповіді Сашка на них. Перший рядок вхідних даних містить числоn
- найбільше число, яке міг загадати Сашко. Далі йдуть рядки, які містять питання Оленки. Кожен рядок представляє собою набір чисел, розділених пропусками. Останній рядок вхідних даних містить одне словоHELP
. Для кожного питання Оленки виведіть відповідь Сашка на це питання. Після цього виведіть (через пропуск, в порядку зростання) всі числа, які міг би загадати Сашко після відповіді на всі питання Оленки.
Вхідні дані:
8 1 2 3 5 6 2 3 7 8 HELP
Вихідні дані:
YES NO 1 5 6
Розділ: Словники і множини | Рівень складності: високий
2.7. Функції
Даний розділ містить задачі, які рекомендується розв’язувати за допомогою функцій. |
-
Напишіть функцію, яка отримує ім’я і друкує вітальне повідомлення.
Вхідні дані:
Alex
Вихідні дані:
Hello, Alex
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка отримує рядок і ціле число
n
та повертаєn
копій заданого рядка.
Вхідні дані:
I love coding 3
Вихідні дані:
I love codingI love codingI love coding
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для обчислення суми двох цілих чисел.
Вхідні дані:
2 5
Вихідні дані:
7
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для перетворення цілого числа в рядок.
Вхідні дані:
8
Вихідні дані:
'8'
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для отримання рядка з перших
n
символів іншого рядка. Якщо довжина рядка меншеn
, поверніть початковий рядок.
Вхідні дані:
5 Java 2 Java
Вихідні дані:
Java Ja
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для визначення більшого з двох цілих чисел без використання вбудованої функції
max()
. Якщо числа рівні, то вивести повідомленняequal
.
Вхідні дані:
12 56 11 4 3 3
Вихідні дані:
56 11 equal
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для визначення найбільшого з трьох цілих чисел з використанянм вбудованої функції
max()
.
Вхідні дані:
1 2 2 12 8 35 1 1 1
Вихідні дані:
2 35 1
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка перевіряє, чи існує трикутник із введеними сторонами
a
,b
,c
.
Вхідні дані:
2 2 1 1 2 4
Вихідні дані:
True False
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка отримує два слова, об’єднує їх за допомогою пропуску і друкує результат об’єднання.
Вхідні дані:
Hello World
Вихідні дані:
Hello World
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка отримує
3
аргументи: перші2
- числа, третій - операція (+
,-
,*
,/
), яка повинна бути проведена над ними. У випадку невідомої операції, функція повертає рядокUnknown operation
. Результатом має бути дійсне число з двома знаками після десяткової крапки.
Вхідні дані:
3 8 +
Вихідні дані:
11.00
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка перевіряє, чи подана послідовність порожня чи ні.
Вхідні дані:
Різні типи послідовностей (список, кортеж, словник)
Вихідні дані:
True чи False
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка до введеного рядка на початку додає рядок
Is
. Якщо даний рядок вже починається зIs
, то початковий рядок виводиться без змін.
Вхідні дані:
list Is empty
Вихідні дані:
Is list Is empty
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для перевірки того, чи введена літера є голосною чи приголосною.
Вхідні дані:
c e
Вихідні дані:
False True
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для створення позначок тегів
HTML
навколо введених рядків. Функція отримує назву тегаHTML
і рядок, який необхідно помістити у відповідні теги.
Вхідні дані:
strong Python
Вихідні дані:
<strong>Python</strong>
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка приймає два слова в якості вхідних даних, і надрукуйте найдовше слово. Якщо слова мають однакову довжину, то функція повинна надрукувати слова в окремих рядках.
Вхідні дані:
five three
Вихідні дані:
three
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка повертає назву пори року для введеного значення номера місяця.
Вхідні дані:
6 2 9 3 15
Вихідні дані:
summer winter autumn spring unknown
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка повертає зі списку найменше і найбільше числа.
Вхідні дані:
61 9 -5 23 15 44 31 10 -14 7 8
Вихідні дані:
(-14, 44)
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для вставки рядка всередину іншого рядка.
Вхідні дані:
[] Python <<>> HTML qwerty 123
Вихідні дані:
[Python] <<HTML>> qwe123rty
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для перетворення літер введеного рядка у великі, якщо він містить принаймні
n
великих літер в першихm
символах. Спочатку вводиться сам рядок, а в з нового рядка - числаn
іm
.
Вхідні дані:
Python 1 3 Ruby 2 2
Вихідні дані:
PYTHON Ruby
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для створення гістограми (наприклад, у вигляді
*
) із заданого списку цілих чисел як у вихідних даних. Формат введення списку чисел як у вхідних даних.
Вхідні дані:
2,7,1,4,2,3,9,3
Вихідні дані:
** ******* * **** ** *** ********* ***
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка приймає ціле число і друкує інформацію про парність чи непарність числа.
Вхідні дані:
2 9
Вихідні дані:
True False
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для друку парних чисел із заданої послідовності цілих чисел.
Вхідні дані:
32 4 7 9 11 13 15 8
Вихідні дані:
32 4 8
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для підрахунку суми всіх елементів у списку цілих чисел.
Вхідні дані:
1 10 4 8 11 5 2
Вихідні дані:
41
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для підрахунку добутку усіх елементів у списку цілих чисел.
Вхідні дані:
1 10 4 8 11 5 2
Вихідні дані:
35200
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для створення і друку словника, в якому ключі - цілі числа від
1
доn
включно, а значення - квадрати цих чисел.
Вхідні дані:
10
Вихідні дані:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для створення і друку списку, в якому значення - квадрати цілих чисел від
1
доn
включно.
Вхідні дані:
5
Вихідні дані:
[1, 4, 9, 16, 25]
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка може генерувати та друкувати кортеж зі значеннями квадратів чисел від
1
доn
включно.
Вхідні дані:
6
Вихідні дані:
(1, 4, 9, 16, 25, 36)
Розділ: Функції | Рівень складності: початковий
-
Python має вбудовану функцію
__doc__
для друку документації для всіх вбудованих функцій. Наприклад, для доступу до документації функціїabs()
, слід використати такий запис:print(input.__doc__)
. Напишіть функцію для обчислення квадрата цілого числа. В тілі функції додайте багаторядковий коментар про те, що робить функція. Викличте функцію і перегляньте її документацію.
Вхідні дані:
9
Вихідні дані:
81 Return the square value of the input number. The input number must be integer.
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка приймає послідовність чисел як у вхідних даних і створює список лише з першого та останнього елементів.
Вхідні дані:
5 16 72 29 11 217 112
Вихідні дані:
[5, 112]
Розділ: Функції | Рівень складності: початковий
-
Напишіть програму, і створіть в ній дві функції. Перша з них - приймає послідовність цілих чисел і повертає список. Друга - повертає новий список, що містить всі елементи першого списку без дублікатів.
Вхідні дані:
5 16 5 29 11 217 11
Вихідні дані:
[5, 11, 16, 217, 29]
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка отримує рядок слів, розділених пропуском. Надрукуйте рядок слів у звороному порядку.
Вхідні дані:
one two three
Вихідні дані:
three two one
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка приймає послідовність цілих чисел та ціле число
n
, що вводяться на окремих рядках. Функція повертаєTrue
, якщо вказане число знаходиться всередині списку, абоFalse
у протилежному випадку.
Вхідні дані:
3 6 9 10 23 14 23
Вихідні дані:
True
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка об’єднує всі елементи послідовності, введені через пропуск, в рядок, де елементи вже розділені комою і одним пропуском, і повертає його як у вихідних даних.
Вхідні дані:
Python Ruby C Go Java JavaScript
Вихідні дані:
Python, Ruby, C, Go, Java, JavaScript
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для визначення суми трьох цілих чисел. Якщо будь-які два значення однакові, необхідно вивести нуль.
Вхідні дані:
1 2 3 1 2 2
Вихідні дані:
6 0
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для перевірки наявності одного списку у іншому списку. Cписки містять принаймні по одному елементу.
Вхідні дані:
2 6 8 4 9 1 4 9 2 6 8 4 9 1 9 4
Вихідні дані:
True False
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка приймає послідовність слів, розділених за допомогою дефісу і друкує слова в послідовності, розділеній за допомогою дефісу, після сортування за алфавітом.
Вхідні дані:
one-two-three-four-five-six-seven
Вихідні дані:
five-four-one-seven-six-three-two
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, щоб вилучити певні символи із введеного рядка. Спочатку вводиться початковий рядок, а далі з нового рядка символи, які необхідно вилучити з початкового рядка. Результатом має бути новий рядок без вилучених символів.
Вхідні дані:
I did, did I? d?
Вихідні дані:
I i, i I
Розділ: Функції | Рівень складності: початковий
-
Дано два дійсних числа
x
іy
. Напишіть функцію для перевірки, чи належить точка з координатами(x, y)
квадрату (включаючи його межу), що має розміри2 х 2
клітинки і розташований в початку системи координат. Якщо точка належить квадрату, виведіть словоYES
, інакше виведіть словоNO
. Функція не повинна містити інструкцію «якщо».
Вхідні дані:
2 -1 1 1
Вихідні дані:
NO YES
Розділ: Функції | Рівень складності: початковий
-
Дано два дійсних числа
x
іy
. Напишіть функцію для перевірки, чи належить точка з координатами(x, y)
ромбу (включаючи його межу), що має розміри1 х 1
клітинки і розташований в початку системи координат. Якщо точка належить ромбу, виведіть словоYES
, інакше виведіть словоNO
. Функція не повинна містити інструкцію «якщо».
Вхідні дані:
1 1 -0.6 0.3
Вихідні дані:
NO YES
Розділ: Функції | Рівень складності: початковий
-
Дано п’ять дійсних чисел:
x
,y
,xc
,yc
,r
. Напишіть функцію для перевірки, чи належить точка(x, y)
колу з центром(xc, yc)
і радіусомr
. Якщо точка належить колу, виведіть словоYES
, інакше виведіть словоNO
. Функція не повинна містити інструкцію «якщо».
Вхідні дані:
0 0 2 2 3 1 1 4 5 3
Вихідні дані:
YES NO
Розділ: Функції | Рівень складності: початковий
-
Надрукуйте найменше з трьох введених чисел без використання вбудованої функції
min()
. Для цього напишіть першу функцію, яка повертає найменше число з двох заданих. У другій функції реалізуйте використання першої функції для визначення найменшого значення серед трьох чисел.
Вхідні дані:
5 8 11 12 12 24 1 1 1
Вихідні дані:
5 12 1
Розділ: Функції | Рівень складності: початковий
-
Дано чотири дійсних числа:
x1
,y1
,x2
,y2
. Напишіть функціюdistance(x1, y1, x2, y2)
, яка обчислює відстань між точкою(x1, y1)
і(x2, y2)
. Введіть чотири дійсних числа і виведіть результат роботи цієї функції.
Вхідні дані:
0 0 1 1
Вихідні дані:
1.41421
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка отримує рядок і обчислює кількість великих та нижніх букв в ньому і друкує результат як у вихідних даних - спочатку кількість великих, а потім кількість малих літер.
Вхідні дані:
Was it a car or a cat I saw?
Вихідні дані:
2 17
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для підрахунку входжень кожного слова в певному реченні.
Вхідні дані:
the quick brown fox jumps over the lazy dog
Вихідні дані:
{'the': 2, 'quick': 1, 'brown': 1, 'fox': 1, 'jumps': 1, 'over': 1, 'lazy': 1, 'dog': 1}
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію - простий лічильник відвідувань, яка отримує в циклі (до тих пір, поки не буде введено
0
) логін. Якщо логін новий, то лічильник збільшується на одиницю, якщо логін вже був, то лічильник відвідувань також збільшується на одиницю, а число унікальних відвідувачів залишається незмінним. На екран має виводитися кількість відвідувань і кількість унікальних користувачів.
Вхідні дані:
Barbara Alex56 Alex56 Barbara 0
Вихідні дані:
1 1 2 2 3 2 4 2 5 2 0
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка друкує усі слова із списку, довжина яких перевищує
n
.
Вхідні дані:
Denmark England Estonia France Greece Romania Ukraine 6
Вихідні дані:
Denmark England Estonia Romania Ukraine
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію, яка приймає два списки та повертає
True
, якщо у них є щонайменше один спільний елемент.
Вхідні дані:
1 2 3 4 5 6 7 8 9 0 1 two three four five 6 seven 8 9 ten five hundred
Вихідні дані:
False True
Розділ: Функції | Рівень складності: початковий
-
Напишіть функцію для визначення, чи рік високосний чи ні.
Вхідні дані:
2023 2020
Вихідні дані:
False True
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка приймає слово у нижньому регістрі і повертає слово з першою великою буквою. Введіть рядок слів через пропуск у нижньому регістрі і застосуйте створену функцію для отримання результату як у вихідних даних.
Вхідні дані:
jived fox nymph grabs quick waltz
Вихідні дані:
Jived Fox Nymph Grabs Quick Waltz
Розділ: Функції | Рівень складності: середній
-
Вкладник розмістив суму розміром
n
грн. в банку. Визначте, яку суму отримає вкладник черезm
років, якщо відсоткова ставка складаєp%
в рік. Дані вводяться в порядкуn
,p
,m
як у вхідних даних.
Вхідні дані:
5000 18 2
Вихідні дані:
6800.00
Розділ: Функції | Рівень складності: середній
-
Дано дійсне додатне число
a
і ціле числоn
, яке може набувати додатних і від’ємних значень. Напишіть функцію для обчисленняa
n
. Стандартною функцією піднесення до степеня і оператором**
користуватися не можна.
Вхідні дані:
2 1 2 -1
Вихідні дані:
2.0 0.5
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка отримує значення середньомісячної кількості опадів по місяцях (в мм) і повертає загальний обсяг опадів протягом року, середньорічну кількість опадів, назви місяців та значення з найвищим та найменшим числом опадів протягом року.
Вхідні дані:
22 22 24 49 72 98 101 82 51 40 36 24
Вихідні дані:
(621.0, 51.75, (101.0, 'July'), (22.0, 'January'))
Розділ: Функції | Рівень складності: середній
-
Написати функцію для перевірки правильності введеної дати. Функція приймає 3 аргументи - день, місяць та рік і повертає
True
, якщо така дата є в календарі, іFalse
в протилежному випадку.
Вхідні дані:
04 03 2029 33 11 2019
Вихідні дані:
True False
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для перевірки, чи є число ідеальним чи ні. Примітка. У теорії чисел ідеальне число - це додатне ціле число, яке дорівнює сумі власних додатних дільників, тобто сумі додатних дільників, виключаючи саме число. Відповідно, ідеальне число - це число, що дорівнює половині суми всіх додатних дільників (включаючи саме число). Наприклад: перше ідеальне число -
6
, оскільки1
,2
і3
- це правильні додатні дільники, а1 + 2 + 3 = 6
. Відповідно, число6
дорівнює половині суми всіх його додатних дільників:(1 + 2 + 3 + 6) / 2 = 6
. Наступне ідеальне число -28 = 1 + 2 + 4 + 7 + 14
. Далі ідуть ідеальні числа496
і8128
.
Вхідні дані:
6 28 25
Вихідні дані:
True True False
Розділ: Функції | Рівень складності: середній
-
На стадіоні є три категорії місць для сидіння: місця класу
A
коштуютьa
грошових одиниць, місця класуB
коштуютьb
грошових одиниць, а місця класуC
-c
грошових одиниць. Напишіть першу функцію, яка запитує скільки продано квитків на кожний клас місць, і другу функцію, яка відображає суму отриманого доходу від продажу квитків на кожен клас окремо і загалом. Формати введення і виведення такі, як у вхідних і вихідних даних.
Вхідні дані:
A 20.50 45 B 15.75 30 C 10.55 15
Вихідні дані:
({'A': 922.5, 'B': 472.5, 'C': 158.25}, 1553.25)
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка отримує послідовність балів (цілі числа) і повертає буквенну інтерпретацію числових балів на основі наступної шкали оцінок:
90-100 - A 80-89 - B 70-79 - C 60-69 - D Нижче 60 - F
Вхідні дані:
60 80 64 45 35 87 90 95 91 64 78
Вихідні дані:
{'A': [90, 95, 91], 'B': [80, 87], 'C': [78], 'D': [60, 64, 64], 'F': [45, 35]}
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка перевіряє, чи рядок є паліндром чи ні. Регістр літер, пропуски і знаки пунктуації не враховувати. Примітка. Паліндром - це слово, фраза або послідовність, яка читається так само як зліва направо, так і справа наліво.
Вхідні дані:
Level No 'x' in Nixon "Was it a car or a cat I saw?" A man, a plan, a canal, Panama! palindrome
Вихідні дані:
True True True True False
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для сортування рядка в алфавітному порядку без врахування регістру літер.
Вхідні дані:
JavaScript Python
Вихідні дані:
aaciJprStv hnoPty
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для сортування рядка в порядку, протилежному алфавітному, без врахування регістру літер.
Вхідні дані:
Ruby
Вихідні дані:
yuRb
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для сортування рядка слів, розділених пропусками, за довжиною слів в порядку зростання.
Вхідні дані:
Ruby Python Go JavaScript Java
Вихідні дані:
Go Java Ruby Python JavaScript
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для сортування рядка слів, розділених пропусками, за довжиною слів в порядку зменшення.
Вхідні дані:
Ruby Python Go JavaScript Java
Вихідні дані:
JavaScript Python Java Ruby Go
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка створює комбінацію із двох послідовностей цілих чисел, впорядковану за зростанням.
Вхідні дані:
1 4 0 12 4 5 24 1 2 10 8
Вихідні дані:
0 1 1 2 4 4 5 8 10 12 24
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка створює комбінацію двох послідовностей таким чином як у вихідних даних.
Вхідні дані:
1 2 3 4 5 a b c d e
Вихідні дані:
1 a 2 b 3 c 4 d 5 e
Розділ: Функції | Рівень складності: середній
-
Дано список кортежів, кожен з яких містить два значення: назва фільму (рядок) і рейтинг (дійсне число). Напишіть функцію(ї) для сортування кортежів в порядку зростання рейтингу.
Вхідні дані:
Список із кортежів
Вихідні дані:
[('Captain Marvel', 7.0), ('Aladdin', 7.4), ('Toy Story 4', 8.2), ('Avengers: Endgame', 8.7)]
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для обчислення факторіала заданого числа.
Вхідні дані:
5
Вихідні дані:
120
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для перевертання кожного слова у введеному тексті.
Вхідні дані:
poT tops oN ,nomel on nolem
Вихідні дані:
Top spot No lemon, no melon
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для перевірки, чи є даний рядок анаграмою іншого рядка. Букви початкового рядка використовуються одноразово і враховується регістр літер. Примітка. Анаграма - переставлення літер у слові, завдяки чому утворюється нове значення слова.
Вхідні дані:
eleven plus two twelve plus one I am Lord Voldemort tom marVoLo rIddle Forty five over fifty
Вихідні дані:
True True False
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для знаходження кількість повторень елементів у послідовності, які вводяться через кому в один рядок, і виведіть список пар «елемент- кількість повторень» в порядку спадання кількості повторень як у вихідних даних.
Вхідні дані:
1,2,3,4,3,3,2,4,5,6,1,2,3,4,6,1,2,3,4,6,6
Вихідні дані:
[(3, 5), (2, 4), (4, 4), (6, 4), (1, 3), (5, 1)]
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для перевірки чи є послідовність цілих чисел арифметичною прогресією чи ні. Примітка. У математиці арифметична прогресія або арифметична послідовність - це послідовність чисел, в якій різниця між послідовними членами є постійною. Наприклад, послідовність
5, 7, 9, 11, 13, 15,...
є арифметичною прогресією із загальною різницею2
.
Вхідні дані:
5 7 9 11 5 7 10 12
Вихідні дані:
True False
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для перевірки чи є послідовність чисел геометричної прогресією чи ні. Примітка. У математиці геометрична прогресія або геометрична послідовність є послідовністю чисел, де кожний елемент після першого знайдений шляхом множення попереднього на фіксовану, ненульову кількість, що називається загальним співвідношенням. Наприклад, послідовність
2, 6, 18, 54,...
є геометричною прогресією з загальним співвідношенням3
. Аналогічно,10, 5, 2.5, 1.25,...
є геометричною послідовністю з загальним співвідношенням1/2
.
Вхідні дані:
2 6 18 54 10 5 2.5 1.25 5 8 9 11
Вихідні дані:
True True False
Розділ: Функції | Рівень складності: середній
-
Напишіть лямбда-функцію для визначення кореня квадратного з цілого числа.
Вхідні дані:
25 2
Вихідні дані:
5.00 1.41
Розділ: Функції | Рівень складності: середній
-
Напишіть лямбда-функцію, яка повертає значення куба цілого числа.
Вхідні дані:
12 4
Вихідні дані:
1728 64
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка виконує ділення двох цілих чисел (числа вводяться в одному рядку через пропуск.). Необхідно написати програму, яка запускає цю функцію, і, у разі помилки (ділення на нуль), генерується виняток
ZeroDivisionError
і виводить його ім’я як у вихідних даних. В разі успішної дії ділення, має виводитись результат і повідомленняOK
. У будь-якому випадку в кінці роботи програми виводиться повідомленняDone
.
Вхідні дані:
10 4 5 0
Вихідні дані:
2.5 OK Done ZeroDivisionError Done
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію, яка приймає три рядки в якості аргументів:
start_message
,error_message
,end_message
. Функція повинна запитувати у користувача введення до тих пір, поки не буде введено ціле число (рядок, який конвертується функцієюint
без помилок). Перед першим запитом введення повинен бути виведене значенняstart_message
, після кожного помилкового введення потрібно виводити значення рядкаerror_message
і при вдалому введенні потрібно вивести рядокend_message
і повернути отримане ціле число з функції. Кожне повідомлення повинно знаходитися на окремому рядку. Гарантовано, що в якийсь момент користувачем буде введено ціле число.
Вхідні дані:
Input int number: five Wrong value. Input int number: 5
Вихідні дані:
5 Thank you.
Розділ: Функції | Рівень складності: середній
-
Дано список цілих чисел, в якому зустрічаються однакові значення. Напишіть функцію для друку цього списку після видалення всіх однакових значень.
Вхідні дані:
45 67 23 45 111 67 12 55
Вихідні дані:
45 67 23 111 12 55
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для отримання всіх можливих двозначних комбінації літер із рядка цифр (від
1
до9
). Для розв’язування задачі використайте словник:string_maps = {'1': 'abc', '2': 'def', '3': 'ghi', '4': 'jkl', '5': 'mno', '6': 'pqrs', '7': 'tuv', '8': 'wxy', '9': 'z'}
.
Вхідні дані:
12 11
Вихідні дані:
['ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf'] ['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для виконання рядка, що містить код
Python
. Реалізуйте функцію разом із конструкцієюtry/except
, яка має відпрацювати як у вихідних даних.
Вхідні дані:
print('Hello, World!') print(36+51) print(2 + 'a')
Вихідні дані:
Hello, World! Successfully Done 87 Successfully Done Not fulfilled Done
Розділ: Функції | Рівень складності: середній
-
Напишіть функцію для перевірки, чи є рядок «панграмою» чи ні. Примітка. Панграма - фраза, вислів або текст в якому присутні всі літери абетки принаймні по одному разу. Наприклад: «How vexingly quick daft zebras jump» (
30
літер), «The five boxing wizards jump quickly» (31
літера), «Cwm fjord bank glyphs vext quiz» (26
літер), «The quick brown fox jumps over the lazy dog» (35
літер).
Вхідні дані:
Cwm fjord bank glyphs vext quiz How vexingly quick daft zebras jump Mr Jock, TV quiz PhD, bags few lynx
Вихідні дані:
True True True
Розділ: Функції | Рівень складності: високий
-
Напишіть програму, яка обчислює площі трикутника, круга і прямокутника, реалізувавши для кожної фігури окрему функцію. Напишіть окрему функцію, яка визначає, площу якої фігури необхідно обчислити, тобто отримує назву фігури і вхідні дані (дійсні числа) для обчислення площі. З деякими вхідними даними триктуник може не існувати, тому реалізуйте ще одну функцію для перевірки існування трикутника.
Вхідні дані:
triangle 1 0 1 circle 5 rectangle 2 7 triangle 2 2 1
Вихідні дані:
triangle does not exist 78.50 14.00 0.97
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію, яка виводить перші n рядків трикутника Паскаля. Примітка. Трикутник Паскаля - це арифметична та геометрична фігура, описана Блезом Паскалем. Ряди трикутника Паскаля умовно пронумеровані згори, починаючи з нульового. Кожне число в кожному ряді одержуємо, додавши два числа, розміщені вгорі (зліва і справа). Якщо зліва або справа немає числа, підставляємо нуль на його місце.
Вхідні дані:
5
Вихідні дані:
[1] [1, 1] [1, 2, 1] [1, 3, 3, 1] [1, 4, 6, 4, 1]
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію для вирішення класичної давньої китайської головоломки: дано кількість голів
n
та лапm
серед курчат та кроликів на фермі. Скільки курчат і кроликів на фермі?
Вхідні дані:
5 12 3 4
Вихідні дані:
4 1 NO SOLUTIONS! NO SOLUTIONS!
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію для створення всіх можливих перестановок елементів з послідовності різних цілих чисел.
Вхідні дані:
1 2 3
Вихідні дані:
[[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2], [1, 2, 3]]
Розділ: Функції | Рівень складності: високий
-
Напишіть програму, яка друкує наступний день для певної дати як у вихідних даних у форматі
рррр-мм-дд
. Напишіть окремі функції для обробки даних, які вводить користувач і використайте їх у програмі.
Вхідні дані:
31 8 2019 28 2 2020
Вихідні дані:
2019-9-1 2020-2-29
Розділ: Функції | Рівень складності: високий
-
Напишіть програму, яка друкує попередній день для певної дати як у вихідних даних у форматі
рррр-мм-дд
. Напишіть окремі функції для обробки даних, які вводить користувач і використайте їх у програмі.
Вхідні дані:
1 3 2019 1 1 2020 1 9 2019
Вихідні дані:
2019-2-28 2019-12-31 2019-8-31
Розділ: Функції | Рівень складності: високий
-
Магічний квадрат - це квадратна таблиця
n x n
, заповнена цілими числами таким чином, що сума чисел у кожному рядку, кожному стовпчику і на обох діагоналях однакова. Напишіть функцію, яка отримує послідовність чисел у форматі як у вхідних даних, з яких утворюється двовимірна таблиця (список списків) цілочисельних елементів і перевірте чи є вона магічним квадратом. Результатом має бутиTrue
чиFalse
відповідно.
Вхідні дані:
1 2 3,4 5 6,7 8 9 4 9 2,3 5 7,8 1 6 7 12 1 14,2 13 8 11,16 3 10 5,9 6 15 4 23 28 21,22 24 26,27 20 25 16 23 17,78 32 21,17 16 15 4 3 8,9 5 1,2 7 6
Вихідні дані:
False True True True False True
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію для перетворення кольору у форматі
RGB
у колірHSV
. Користувач вводить три числа в одному рядку через пропуск - значення для червоного, зеленого та синього кольорів відповідно (значення кожного з чисел знаходяться в межах від0
до255
включно). Функція отримує ці три числа і виводить значення кольору у форматіHSV
з форматуванням як у вихідних даних. Примітка. Колірна модельRGB
(червоний, зелений, синій) зберігає окремі значення для червоного, зеленого та синього кольорів. Колірна модельHSV
(відтінок, насиченість, значення), також відома якHSB
(відтінок, насиченість, яскравість), часто використовується художниками, тому що часто природніше думати про кольори з точки зору тону та насиченості, ніж з точки зору поєднання компонентів кольору.
Вхідні дані:
0 220 0 45 101 116
Вихідні дані:
120° 100.0% 86.3% 193° 61.2% 45.5%
Розділ: Функції | Рівень складності: високий
-
Напишіть рекурсивну функцію, яка обчислює суму цілих чисел
a
іb
. З арифметичних операцій використовується тільки додавання одиниці і віднімання одиниці.
Вхідні дані:
2 9 2 -5 3 0
Вихідні дані:
11 -3 3
Розділ: Функції | Рівень складності: високий
-
Напишіть рекурсивну функцію для обчислення суми списку цілих чисел.
Вхідні дані:
1 4 7 90 45 23 16
Вихідні дані:
186
Розділ: Функції | Рівень складності: високий
-
Дано послідовність чисел, що завершується числом
0
(саме число0
в послідовність не входить, а служить як ознака її закінчення). Напишіть рекурсивну функцію, яка обчислює суму всіх цих чисел, не використовуючи цикл.
Вхідні дані:
3 7 4 1 0
Вихідні дані:
15
Розділ: Функції | Рівень складності: високий
-
Значення елемента послідовності Фібоначчі обчислюється на основі такої формули:
f(n) = 0, якщо n = 0 f(n) = 1, якщо n = 1 f(n) = f(n-1) + f(n-2), якщо n > 1
Напишіть функцію для друку n
елементів послідовності f(n)
через кому в одному рядку. Примітка. Послідовність Фібоначчі - це послідовність чисел, де наступне число у послідовності є сумою попередніх двох чисел: 1, 1, 2, 3, 5, 8, 13,...
.
Вхідні дані:
7
Вихідні дані:
1 1 2 3 5 8 13
Розділ: Функції | Рівень складності: високий
-
Дано послідовність цілих чисел, що закінчується числом
0
. Напишіть рекурсивну функцію, яка друкує цю послідовність в зворотному порядку. При розв’язуванні цього завдання не можна користуватися списками.
Вхідні дані:
4 2 7 0
Вихідні дані:
0 7 2 4
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію для обчислення результату піднесення числа
a
до степеняb
, які вводяться в одному рядку через пропуск (a
іb
- цілі числа). Використайте рекурентне співідношення:a
n
= a * a
(n-1)
. Використовувати цикли і вбудовану функціюpow()
не можна.
Вхідні дані:
9 2 3 6 2 0
Вихідні дані:
81 729 1
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію, яка для заданого натурального числа
n
(n > 0
) генерує послідовність чисел, описану в гіпотезі Коллатц: якщоn
парне, то ділимо його навпіл, якщо непарне, то множимо на3
і додаємо1
. З підсумком обчислення знову проробляємо цю операцію до тих пір, поки в результаті не отримаємо число1
. Наприклад, для числаn = 17
послідовність обчислень виглядає наступним чином:17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1
.
Вхідні дані:
17 5 2
Вихідні дані:
17 52 26 13 40 20 10 5 16 8 4 2 1 5 16 8 4 2 1 2 1
Розділ: Функції | Рівень складності: високий
-
Ханойська вежа - одна з широко відомих головоломок, умова якої полягає в наступному: є три стержня (пронумеруємо їх числами
1
,2
і3
). На першому стержні знаходитьсяn
кілець з радіусами від1
доn
. Кільця відсортовані по радіусу, і найбільше кільце лежить нижче всіх. Вам потрібно знайти і записати алгоритм перенесення всіхn
кілець з першого стержня на третій за такими правилами: за один хід можна переносити тільки одне кільце; не можна класти більше кільце на менше. Програма повинна вивести на екран найкоротшу послідовність дій, необхідну для того, щоб перенести всі кільця з першого стержня на третій. Користувач вводить рядок, що містить додатне ціле числоn
. Програма має вивести порядок дій для вирішення головоломки. Кожна дія записується на окремому рядку. Дія записується в форматі «номер стержня, з якого знімаємо кільце» - «номер стержня, на який надягаємо кільце».
Вхідні дані:
2
Вихідні дані:
1 - 2 1 - 3 2 - 3
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію, яка з послідовності додатних цілих чисел складає мінімальне і максимальне числа як у вихідних даних.
Вхідні дані:
2 0 509 23 45 0 14 8 1
Вихідні дані:
('2023509', '5092320') ('1014458', '8451410')
Розділ: Функції | Рівень складності: високий
-
Напишіть функцію для перетворення цілого числа в десятковій системі числення в рядок в будь-якій системі числення. В першому рядку вводиться число в десятковій нотації, через пропуск вказується основа системи числення, в якій необхідно число представити.
Вхідні дані:
1981 16 23 3 43 2
Вихідні дані:
7BD 212 101011
Розділ: Функції | Рівень складності: високий
-
У римській системі числення для позначення чисел використовуються наступні символи (праворуч записані числа, яким вони відповідають в десятковій системі числення):
I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000
Будемо використовувати варіант, в якому числа 4
, 9
, 40
, 90
, 400
і 900
записуються як віднімання від більшого числа меншого: IV
, IX
, XL
, XC
, CD
і CM
, відповідно. Напишіть функцію у програмі, яка переводить число з римської в десяткову систему числення. На вхід програми подається рядок, що містить число, закодоване в римській системі числення. Гарантується, що число менше 4000
. Необхідно надрукувати рядок, що містить число в десятковій системі числення, відповідне введеному.
Вхідні дані:
MCMLXXXI XX IX
Вихідні дані:
1981 20 9
Розділ: Функції | Рівень складності: високий
-
Напишіть програму, яка шифрує повідомлення з використанням шифру Цезаря. Шифр Цезаря полягає в заміні кожного літерного символу вхідного рядка на символ, що знаходиться на кілька позицій ліворуч або праворуч його в алфавіті. На першому рядку вказується зсув шифрування: ціле число. Додатне число відповідає зсуву праворуч. На другому рядку вказується непорожній рядок-фраза для шифрування. Результатом роботи програми має бути надрукована зашифрована послідовність. Нелітерні символи мають виводитись без змін і програма має зберігати регістр: великі літери після змін мають лишатись великими, маленькі літери після змін мають лишатись маленькими. Для розв’язування задачі напишіть дві функції: функцію валідації ключа шифрування і функцію шифрування шифром Цезаря.
Вхідні дані:
key: 13 plaintext: HELLO key: 12 plaintext: world, say hello! key: -2 plaintext: azy key: 1 2
Вихідні дані:
ciphertext: URYYB ciphertext: iadxp, emk tqxxa! ciphertext: yxw key invalid
Розділ: Функції | Рівень складності: високий
-
Напишіть програму, яка шифрує повідомлення за допомогою шифру Віженера. Шифр Віженера є покращеним варіантом шифру Цезаря. Шифрування у ньому відбувається шляхом використання послідовності ключів (або ключового слова). Наприклад, якби сам Віженер хотів конфіденційно сказати комусь
HELLO
із використанням ключового слова, наприклад,ABC
, він би зашифрувавH
за допомогою ключа0
(тобтоA
),E
- за допомогою ключа1
(тобтоB
), а першу буквуL
- за допомогою ключа2
(тобтоC
). На цьому етапі в нього б закінчились букви у ключовому слові, і тому він знову використав би частину ключового слова, щоб зашифрувати другуL
ключем0
(тобтоA
), а буквуO
- ключем1
(тобтоB
). Отже, він написав биHELLO
якHFNLP
. Ключ шифруkey
має складатись виключно з літерних символів і застосовувати шифр Віженера потрібно виключно до літерних символів. Інші символи (цифри, спеціальні символи, пробіли, пунктуаційні знаки тощо) мають виводитись без змін. Для розв’язування задачі напишіть дві функції: функцію валідації ключа шифрування і функцію шифрування шифром Віженера.
Вхідні дані:
key: baz plaintext: BaRFoo key: a12
Вихідні дані:
ciphertext: CaQGon key invalid
Розділ: Функції | Рівень складності: високий
-
У кожної кредитної картки є номер, який надрукований на ній, а також інший номер, вбудований у магнітну стрічку із зворотного боку картки. Цей номер також зберігається у певній базі даних для того, щоб коли вашою карткою розраховуються за покупку, банк знав, з якого рахунку cписувати гроші. У світі багато людей з кредитними картками, і тому ці номери доволі великі:
American Express
використовує номери із15
розрядів,MasterCard
- з16
,Visa
- з13
або16
. Ці розряди - десяткові (від0
до9
). Номери кредитних карт мають певну структуру. Номери картокAmerican Express
починаються з34
чи37
; номери картMasterCard
починаються з51
,52
,53
,54
чи55
(формально, вони можуть починатись і з деяких інших чисел, але ми не звертатимемо на це уваги в межах нашої задачі); номери картVisa
починаються з4
. Також номери карт мають вбудовану у них контрольну суму, що обраховується за допомогою математичної формули. Тож яка це секретна формула? Більшість карток використовують алгоритм, створений Гансом Петером Луном зIBM
(Алгоритм Луна ). Відповідно до цього алгоритму, ви можете перевірити, чи номер кредитної картки є синтаксично коректним, наступним чином. Рядки довжиною1
або менше не є дійсними. Пропуски дозволені для введення, але їх необхідно видалити перед перевіркою. Усі інші нецифрові символи заборонені.
4539 1488 0343 6467 Перший крок алгоритму Луна - це подвоєння кожної другої цифри, починаючи справа: 4_3_ 1_8_ 0_4_ 6_6_ Якщо подвоєння числа є числом, що перевищує 9, необхідно відняти 9 від добутку. Результати нашого подвоєння, розставлені на свої місця: 8569 2478 0383 3437 Далі необхідно підсумувати всі цифри: 8+5+6+9+2+4+7+8+0+3+8+3+3+4+3+7 = 80 Якщо сума націло ділиться на 10, то число дійсне. Цей номер дійсний!
8273 1232 7352 0569 Подвоєння кожної другої цифри, починаючи справа 7253 2262 5312 0539 Сума цифр 7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57 57 націло не ділиться на 10, тому це число недійсне.
Напишіть функцію(ї) для валідації номера кредитної картки за алгоритмом Луна і виведення приналежності картки для трьох компаній (American Express
, MasterCard
, Visa
) як у вихідних даних. У разі некоректності номера або невідповідності переліченим компаніям, вивести повідомлення INVALID
.
Вхідні дані:
4003600000000014 5105105105105100 378282246310005 4111111111111113
Вихідні дані:
Visa MasterCard American Express INVALID
Розділ: Функції | Рівень складності: високий
-
Реалізуйте програму, яка буде емулювати роботу з просторами імен. Необхідно реалізувати підтримку створення просторів імен і додавання в них змінних. У цьому завданні у кожного простору імен є унікальний текстовий ідентифікатор - його ім’я. Програмі на вхід подаються такі запити:
create <namespace> <parent> - створити новий простір імен з ім'ям <namespace> всередині простору <parent> add <namespace> <var> - додати в простір <namespace> змінну <var> get <namespace> <var> - отримати ім'я простору, з якого буде взята змінна <var> при запиті з простору <namespace>, або None, якщо такого простору не існує
Розглянемо набір запитів
add global a create foo global add foo b create bar foo add bar a
Структура просторів імен описана даними запитами буде еквівалентна структурі просторів імен, створеної при виконанні даного коду
a = 0 def foo(): b = 1 def bar(): a = 2
В основному тілі програми ми оголошуємо змінну a
, тим самим додаючи її в простір global
. Далі ми оголошуємо функцію foo
, що тягне за собою створення локального для неї простору імен всередині простору global
. У нашому випадку, це описується командою create foo global
. Далі ми оголошуємо всередині функції foo
функцію bar
, тим самим створюючи простір bar
всередині простору foo
, і додаємо в bar
змінну a
. Додамо запити get
до наших запитів
get foo a get foo c get bar a get bar b
Уявімо як це могло б виглядати в коді
a = 0 def foo (): b = 1 get(a) get(c) def bar (): a = 2 get(a) get(b)
Результатом запиту get
буде ім’я простору, з якого буде взята потрібна змінна. Наприклад, результатом запиту get foo a
буде global
, тому що в просторі foo
не оголошена змінна a
, але в просторі global
, всередині якого знаходиться простір foo
, вона оголошена. Аналогічно, результатом запиту get bar b
буде foo
, а результатом роботи get bar a
буде bar
. Результатом get foo c
буде None
, тому що ні в просторі foo
, ні в його зовнішньому просторі global
не була оголошена змінна с
.
Більш формально,
результатом роботи get <namespace> <var> є <namespace>, якщо в просторі <namespace> була оголошена змінна <var> get <parent> <var> - результат запиту до простору, всередині якого було створено простір <namespace>, якщо змінна не була оголошена None, якщо не існує <parent>, тобто, <namespace> - це global
У першому рядку дано число n
(1 ≤ n ≤ 100
) - кількість запитів. У кожному з наступних n
рядків дано по одному запиту. Запити виконуються в порядку, в якому вони дані у вхідних даних. Імена простору імен і імена змінних являють собою рядки довжини не більше 10
, що складаються з малих латинських букв. Для кожного запиту get
виведіть в окремому рядку його результат.
Вхідні дані:
9 add global a create foo global add foo b get foo a get foo c create bar foo add bar a get bar a get bar b
Вихідні дані:
global None bar foo
Розділ: Функції | Рівень складності: високий
2.8. Файли і модулі
У даному розділі розглядаються задачі, в яких передбачається робота з файлами і використання модулів. |
-
Напишіть програму, щоб отримати версію
Python
, яку ви використовуєте: рядок, що містить номер версії інтерпретатораPython
плюс додаткову інформацію про номер збірки та використаний компілятор. Цей рядок відображається під час запуску інтерактивного інтерпретатора. Використайте модульsys
.
Вхідні дані:
Немає
Вихідні дані:
3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для виведення опису вбудованої функції
Python
. Імпортуйте модульpydoc
для розв’язування поставленої задачі. Для прикладу, роздрукуйте опис функціїpow()
.
Вхідні дані:
Немає
Вихідні дані:
Equivalent to x**y (with two arguments) or x**y % z (with three arguments) Some types, such as ints, are able to use a more efficient algorithm when invoked using the three argument form.
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для друку інформації про модуль, наприклад, про
math
. Примітка. Спочатку модуль необхідно імпортувати.
Вхідні дані:
Немає
Вихідні дані:
Список методів модуля
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, щоб отримати назву, платформу та інформацію про випуск операційної системи. Використайте імпорт модулів
platform
іos
.
Вхідні дані:
Немає
Вихідні дані:
nt Windows 10
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, яка друкує значення системного часу. Використайте модуль
time
.
Вхідні дані:
Немає
Вихідні дані:
Fri Jul 26 19:02:02 2019
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, щоб відобразити поточні дату й час як у вихідних даних. Використайте модуль
datetime
.
Вхідні дані:
Немає
Вихідні дані:
2018-08-05 18:39:04
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, яка друкує поточне ім’я користувача в системі. Використайте модуль
os
.
Вхідні дані:
Немає
Вихідні дані:
user
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для друку календаря певного місяця у році. Використайте модуль
calendar
.
Вхідні дані:
2019 3
Вихідні дані:
March 2019 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Розділ: Файли і модулі | Рівень складності: початковий
-
Обчисліть
n!
і надрукуйте обчислене значення. Використайте модульmath
.
Вхідні дані:
15
Вихідні дані:
1307674368000
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для обчислення найбільшого спільного дільника (
GCD
) з двох натуральних чисел. Використайте модульmath
.
Вхідні дані:
144 64
Вихідні дані:
16
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму python, щоб отримати шлях і ім’я файла, який наразі виконується. Використайте модуль
os
.
Вхідні дані:
Немає
Вихідні дані:
C:\Python36\wc.py
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, яка створює список файлів з поточного каталогу, використовуючи символи підстановки. Використайте модуль
glob
.
Вхідні дані:
1*.* ??.py
Вихідні дані:
['1234.py'] ['f1.py']
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для перевірки існування файла в поточному каталозі. Використайте модуль
os
.
Вхідні дані:
my.py input.txt
Вихідні дані:
False True
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для отримання списку усіх файлів і каталогів у поточному каталозі. Використайте модуль
os
.
Вхідні дані:
Немає
Вихідні дані:
Список файлів і каталогів в поточному каталозі
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, яка визначає обсяг об’єкта в байтах. Використайте модуль
sys
.
Вхідні дані:
Python
Вихідні дані:
55 bytes
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для друку характеристик числових типів
Python
. Використайте модульos
.
Вхідні дані:
Немає
Вихідні дані:
Значення числових типів
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для перемішування та друку введеної послідовності. Використайте модуль
random
.
Вхідні дані:
Yellow Pink Green Red Black White
Вихідні дані:
Pink Yellow White Green Black Red
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, щоб надрукувати на екрані вміст вказаного файла, розміщеного в поточному каталозі.
Вхідні дані:
Файл input.txt з вмістом Python Ruby C++ C Java
Вихідні дані:
Python Ruby C++ C Java
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для підрахунку кількості кожного символу у текстовому файлі без врахування регістру літер, використавши модуль
collections
. Для гарного друку використайте модульpprint
.
Вхідні дані:
input.txt
Вихідні дані:
Counter({'\n': 4, 'y': 2, 'c': 2, '+': 2, 'a': 2, 'p': 1, 't': 1, 'h': 1, 'o': 1, 'n': 1, 'r': 1, 'u': 1, 'b': 1, 'j': 1, 'v': 1})
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть функцію, яка друкує випадкове ціле число від
n
доm
включно.
Вхідні дані:
1 1000
Вихідні дані:
338
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для розрахунку відстані між двома точками земної кулі (у прикладі обчислюється відстань між Пекіном і Києвом), використовуючи широту та довготу, які подані в десяткових градусах (дані візьміть із сайту dateandtime.info ). Використайте формулу для визначення відстані:
відстань = 6371.032 × arccos(sin(x1) × sin(x2) + cos(x1) × cos(x2) × cos(y1 - y2))
, де значення6371,032
- це середній радіус Землі у кілометрах. Врахуйте, що тригонометричні функціїPython
імпортуються з модуляmath
і працюють з радіанами.
Вхідні дані:
Input coordinates of two points. Starting latitude: 39.9075000 Ending longitude: 116.3972300 Starting latitude: 50.4546600 Ending longitude: 30.5238000
Вихідні дані:
The distance is 6449.78 km.
Розділ: Файли і модулі | Рівень складності: початковий
-
Дано додатне дійсне число
n
. Виведіть його дробову і цілу частину. Використайте модульmath
.
Вхідні дані:
7.9 5.8
Вихідні дані:
(0.9000000000000004, 7.0) (0.7999999999999998, 5.0)
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму, яка форматує текст, показаний у вихідних даних, із шириною
n
. Використайте модульtextwrap
.
Вхідні дані:
35
Вихідні дані:
Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java.
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для зчитування файла рядок за рядком та зберігання рядків у списку.
Вхідні дані:
Файл input.txt з вмістом Python Ruby C++ C Java GO
Вихідні дані:
['Python\n', 'Ruby\n', 'C++\n', 'C\n', 'Java\n', 'GO']
Розділ: Файли і модулі | Рівень складності: початковий
-
Напишіть програму для підрахунку кількості рядків у текстовому файлі.
Вхідні дані:
Файл input.txt з вмістом Python Ruby C++ C Java GO
Вихідні дані:
6
Розділ: Файли і модулі | Рівень складності: початковий
-
У вхідному файлі записана один текстовий рядок, який може містити пропуски. Запишіть цей рядок в зворотному порядку у інший файл.
Вхідні дані:
Файл input.txt з вмістом hello world
Вихідні дані:
Файл output.txt з вмістом dlrow olleh
Розділ: Файли і модулі | Рівень складності: початковий
-
У вхідному файлі записано два цілих числа, які можуть бути розділені пропусками і кінцями рядків. Виведіть у вихідний файл їх суму.
Вхідні дані:
Файл input.txt з вмістом 2 2
Вихідні дані:
Файл output.txt з вмістом 4
Розділ: Файли і модулі | Рівень складності: середній
-
Запишіть рядки вхідного файла в зворотному порядку у інший файл. Останній рядок вхідного файлу обов’язково закінчується символом
\n
.
Вхідні дані:
Файл input.txt з вмістом Python Java C++ C Ruby
Вихідні дані:
Файл output.txt з вмістом Ruby C C++ Java Python
Розділ: Файли і модулі | Рівень складності: середній
-
Запишіть увесь вміст вхідного файла в зворотному порядку у інший файл. Останній рядок вхідного файлу обов’язково закінчується символом
\n
.
Вхідні дані:
Файл input.txt з вмістом Python Java C++ C Ruby
Вихідні дані:
Файл output.txt з вмістом ybuR C ++C avaJ nohtyP
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для перевірки, чи містить введений рядок усі літери англійського алфавіту. Використайте модуль
string
, для отримання рядкових констант.
Вхідні дані:
The quick brown fox jumps over the lazy dog
Вихідні дані:
True
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму, яка відкриває вказаний текстовий файл, а потім відображає список всіх унікальних слів, знайдених у файлі.
Вхідні дані:
input.txt
Вихідні дані:
Список унікальних слів з файлу input.txt
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для обчислення найменшого спільного кратного (
LCM
) двох натуральних чисел. Використайте модульfractions
.
Вхідні дані:
15 17
Вихідні дані:
255
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для друку дати й часу на поточний момент у різних форматах як у вихідних даних. Використайте модулі
time
іdatetime
.
Вхідні дані:
Немає
Вихідні дані:
Current date and time: 2019-07-26 21:00:41.004061 Current year: 2019 Month of year: July Week number of the year: 29 Weekday of the week: 5 Day of year: 207 Day of the month: 26 Day of week: Friday
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для сортування словника пар «будівля-висота» за значеннями і ключами (в порядку зростання і спадання). Використайте модуль
operator
.
Вхідні дані:
Немає
Вихідні дані:
[('Burj Khalifa', 828), ('Shanghai Tower', 632), ('Abraj Al Bait', 601)] [('Abraj Al Bait', 601), ('Shanghai Tower', 632), ('Burj Khalifa', 828)] [('Abraj Al Bait', 601), ('Burj Khalifa', 828), ('Shanghai Tower', 632)] [('Shanghai Tower', 632), ('Burj Khalifa', 828), ('Abraj Al Bait', 601)]
Розділ: Файли і модулі | Рівень складності: середній
-
Один з астрологів визначає щасливі і нещасливі дні так: він записує підряд число, номер місяця і рік. В отриманому числі додає всі цифри, в новому отриманому числі знову додає всі цифри і так далі, доки чергова сума цифр не стане однозначним числом. Це число і характеризує щасливість дня. Дата зберігається в форматі
ррррммдд
у файлі. Збережіть рядок, який містить одне число, що визначає щасливість дати, у інший файл.
Вхідні дані:
Файл input.txt з вмістом 20000101
Вихідні дані:
Файл output.txt з вмістом 4
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для перевірки правильності пароля, введеного користувачем. Пароль має задовільняти таким вимогам:
Не менше 1 букви з проміжку [a-z] та 1 букви з порміжку [A-Z]. Принаймні 1 число з проміжку [0-9]. Не менше 1 символу з [$#@]. Мінімальна довжина 8 символів. Максимальна довжина 12 символів.
Використайте модуль re
.
Вхідні дані:
12$FGasEr9 qwerty 45Da#0
Вихідні дані:
Valid Invalid Invalid
Розділ: Файли і модулі | Рівень складності: середній
-
За правилами числа округлюються до найближчого цілого числа, а якщо дробова частина числа дорівнює
0.5
, то число округляється вгору. Дано невід’ємне числоx
, яке необхідно округлити за цими правилами. Зверніть увагу, що функціяround()
не підходить для цього завдання! Використайте функціїceil()
іfloor()
з математичного модуляmath
.
Вхідні дані:
3.4 10.6
Вихідні дані:
3 11
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для отримання списку лише файлів в поточному каталозі.
Вхідні дані:
Немає
Вихідні дані:
Список файлів в поточному каталозі
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму, щоб отримати аргументи командного рядка (ім’я скрипту, кількість аргументів, аргументи), передані сценарію. Використайте модуль
sys
.
Вхідні дані:
C:\Python36>python f1.py one two 3 four 5 6
Вихідні дані:
Name/path of the script: f1.py Number of arguments: 7 Arguments list: ['f1.py', 'one', 'two', '3', 'four', '5', '6']
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для зчитування випадкового рядка з текстового файла.
Вхідні дані:
Файл input.txt з вмістом Python Ruby C++ C Java GO
Вихідні дані:
Java
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для друку випадкової вибірки слів із текстового файла. Кількість слів має бути також випадковою в межах кількості рядків у файлі. Слова зберігаються у файлі на окремих рядках.
Вхідні дані:
Файл input.txt з вмістом Python Ruby C++ C Java
Вихідні дані:
Java Python C++
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для розрахунку кількості днів між двома датами, використовуючи модуль
datetime
.
Вхідні дані:
2018 8 1 2019 3 4
Вихідні дані:
215
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для сортування файлів певного типу за датою в поточному каталозі. Тип файла вводиться у форматі як у вхідних даних.
Вхідні дані:
*.py
Вихідні дані:
exercises.py namespace.py some_module.py 1234.py locales_print.py bottle.py
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть функцію для перевірки правильності введеної дати. Функція приймає
3
аргументи - день, місяць та рік і повертаєTrue
, якщо така дата є в календарі, іFalse
в протилежному випадку. Використайте модульdatetime
і конструкціюtry/except
.
Вхідні дані:
04 03 2029 33 11 2019
Вихідні дані:
True False
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму, щоб отримати дату/час створення та зміни файла в поточному каталозі. Використайте модулі
os
іtime
.
Вхідні дані:
input.txt
Вихідні дані:
Last modified: Fri Jul 26 16:56:10 2019 Created: Tue Nov 13 17:05:54 2018
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для генерації всіх перестановок списку як у вихідних даних. Використайте модуль
itertools
.
Вхідні дані:
1 4 5
Вихідні дані:
[(1, 4, 5), (1, 5, 4), (4, 1, 5), (4, 5, 1), (5, 1, 4), (5, 4, 1)]
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму, яка обчислює і друкує час виконання (у секундах) для деякого фрагменту коду на
Python
, наприклад, для сумування чисел від1
доn
. Використайте модульtime
.
Вхідні дані:
1000000
Вихідні дані:
Required time to calculate sum of 1 to 1000000 (sum = 500000500000) is: 0.044 seconds.
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть функцію для читання перших
n
рядків файлу.
Вхідні дані:
input.txt 2
Вихідні дані:
['Python\n', 'Ruby\n']
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть функцію для додавання до текстового файла рядка в кінець файла і виведення вмісту файла.
Вхідні дані:
input.txt GO
Вихідні дані:
Python Ruby C++ C Java GO
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для зчитування останніх
n
рядків файла.
Вхідні дані:
input.txt 3
Вихідні дані:
C Java GO
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть функцію для підрахунку частоти слів у файлі.
Вхідні дані:
input.txt
Вихідні дані:
{'Python': 1, 'Ruby': 1, 'C++': 1, 'C': 1, 'Java': 1, 'GO': 1}
Розділ: Файли і модулі | Рівень складності: середній
-
Дано текстовий файл, що містить рядки цілих чисел, по одному в рядку. Напишіть функцію, яка зчитує всі числа, що зберігаються у файлі, та обчислює їх суму.
Вхідні дані:
input.txt
Вихідні дані:
45
Розділ: Файли і модулі | Рівень складності: середній
-
Дано текстовий файл, що містить рядки дійсних чисел, по одному в рядку. Напишіть функцію, яка зчитує всі числа, що зберігаються у файлі, та обчислює їх середнє значення. Результат має виводитись із двома знаками після десяткової крапки.
Вхідні дані:
input.txt
Вихідні дані:
7.78
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для запису послідовності у текстовий файл і зчитування її з файлу.
Вхідні дані:
Python Ruby C++ C Java Go JavaScript
Вихідні дані:
Python Ruby C++ C Java Go JavaScript
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть програму для копіювання вмісту тектового файлу в інший текстовий файл.
Вхідні дані:
input.txt output.txt
Вихідні дані:
Немає
Розділ: Файли і модулі | Рівень складності: середній
-
Текстовий файл містить список номерів рахунків компанії. Кожен номер рахунку має всім цифр, наприклад,
56588459
. Напишіть програму, яка визначає чи є номер, введений користувачем, у файлі. Якщо номер у списку, друкується відповідне повідомлення, що номер дійсний. Якщо номер відсутній у списку, програма виводить повідомлення про те, що номер недійсний.
Вхідні дані:
input.txt 46221213 input.txt 12345678
Вихідні дані:
found not found
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть функцію для друку вмісту текстового файла порядково. На початку кожного надрукованого рядка має бути номер рядка, а потім - двокрапка як у вихідних даних. Нумерація рядків починається з
1
.
Вхідні дані:
input.txt
Вихідні дані:
1 : Python 2 : Ruby 3 : C++ 4 : C 5 : Java 6 : GO
Розділ: Файли і модулі | Рівень складності: середній
-
Визначте, чи є у вхідному файлі символ
n
. Запишіть словоYES
абоNO
у вихідний файл. Вхідний файл може бути дуже великим, тому зчитувати файл потрібно посимвольно.
Вхідні дані:
Файл input.txt з вмістом Cимвол n, який шукається
Вихідні дані:
Файл output.txt з вмістом YES чи NO
Розділ: Файли і модулі | Рівень складності: середній
-
Дано відомості про найпопулярніші виші серед абітурієнтів за кількістю заяв від вступників. Напишіть функцію, яка записує цю інформацію порядково у текстовий файл у форматі «назва вишу, кількість заяв від вступників». Спочатку користувач вказує ім’я файла і кількість вишів
n
, після чого вводяться дані як у вхідних даних.
Вхідні дані:
rating.txt 3 Kyiv National Taras Shevchenko University 42354 Lviv Ivan Franko National University 37380 National Technical University of Ukraine "Igor Sikorsky Kiev Polytechnic Institute" 36371
Вихідні дані:
Файл rating.txt з вмістом Kyiv National Taras Shevchenko University, 42354 Lviv Ivan Franko National University, 37380 National Technical University of Ukraine "Igor Sikorsky Kiev Polytechnic Institute", 36371
Розділ: Файли і модулі | Рівень складності: середній
-
Напишіть функцію, яка обробляє винятки
IOError
, які виникають при відкритті файла.
Вхідні дані:
input.txt 123456.py
Вихідні дані:
OK Done Caught the I/O error Done
Розділ: Файли і модулі | Рівень складності: середній
-
Ціна товару позначена в гривнях з точністю до копійок, тобто дійсним числом з двома цифрами після десяткової крапки. Запишіть у дві цілочисельні змінні вартість товару у вигляді цілого числа гривень і цілого числа копійок і виведіть їх. При вирішенні цього завдання не можна користуватися умовними інструкціями і циклами. Примітка. При роботі з числами з плаваючою крапкою (тобто
float
) в результаті обчислень можна отримати не зовсім той результат, на який очікуємо, наприклад
number = 0.1 + 0.1 + 0.1 print(number) # 0.30000000000000004
Тому для розв’язування поданої задачі використайте вбудований у Python
модуль decimal
.
Вхідні дані:
24.45 3.5 102.55
Вихідні дані:
24 45 3 50 102 55
Розділ: Файли і модулі | Рівень складності: високий
-
Зчитайте рядки у вхідному файлі і запишіть у вихідний файл ті рядки, які є найдовшими у вхідному файлі, не змінюючи їх порядок.
Вхідні дані:
Файл input.txt з вмістом Three Thirty eight Seven Six Thirty three
Вихідні дані:
Файл output.txt з вмістом Thirty eight Thirty three
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть функцію для зчитування рядків з текстового файла і видалення у зчитаних рядках символів нового рядка
\n
.
Вхідні дані:
input.txt
Вихідні дані:
['Python', 'Ruby', 'C++', 'C', 'Java', 'GO']
Розділ: Файли і модулі | Рівень складності: високий
-
Створіть дві функції: перша генерує
n
випадкових цифр для лотереї з діапазону від0
до9
включно, а друга функція отримує згенеровані цифри і записує у файл на окремих рядках.
Вхідні дані:
lottery.txt 5
Вихідні дані:
Файл lottery.txt з вмістом 3 5 1 3 7
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму, яка визначає розмір файла в поточному каталозі і друкує значення в байтах. Якщо файла із вказаним ім’ям немає, генерується виняток.
Вхідні дані:
f1.py input.txt 14.py
Вихідні дані:
f1.py 39737 Bytes input.txt 6 Bytes TypeError: not file
Розділ: Файли і модулі | Рівень складності: високий
-
Кодування довжин послідовностей - це базовий алгоритм стиснення даних. Реалізуйте найпростіший його варіант. На вхід алгоритму подається рядок, що містить символи латинського алфавіту. Цей рядок розбивається на групи однакових символів, що йдуть підряд («серії»). Кожна серія характеризується періодичним символом і кількістю повторень. Саме ця інформація і записується в код: спочатку пишеться довжина серії повторюваних символів, потім сам символ. У серій довжиною в один символ кількість повторень будемо опускати. Наприклад, розглянемо рядок
aaabccccCCaB
. Розкладемо його на серії:aaa b cccc CC a B
. Після чого закодуємо серії і отримаємо підсумковий рядок, який і будемо вважати результатом роботи алгоритму:3ab4c2CaB
. Для розв’язування задачі використайте модульitertools
.
Вхідні дані:
aaabccccCCaB
Вихідні дані:
3ab4c2CaB
Розділ: Файли і модулі | Рівень складності: високий
-
У текстовому файлі порядково записані адреси електронної пошти у форматі
user@company.com
. Напишіть функцію, яка друкує імена користувача і компанії вказаної адреси електронної пошти. Використайте модульre
.
Вхідні дані:
input.txt
Вихідні дані:
[('sddret1996', 'gmail'), ('protuas', 'yahoo'), ('gendalf15', 'gmail')]
Розділ: Файли і модулі | Рівень складності: високий
-
У текстовому файлі записаний текст, в якому зустрічаються адреси електронної пошти у форматі
user@company.com
. Напишіть функцію, яка шукає усі адреси електронної пошти у тексті файла. Використайте модульre
.
Вхідні дані:
input.txt
Вихідні дані:
{'alex99@gmail.com', 'gethamg19@gmail.com', 'neera@gmail.com'}
Розділ: Файли і модулі | Рівень складності: високий
-
Місяцю з
n
днів відповідає лінійна таблиця елементів, в якій робочий день позначено1
, а неробочий -0
. Скласти алгоритм, який підраховує: кількість тижнів в місяці; кількість робочих днів в кожному з тижнів місяця. Примітка. Тижнем будемо називати довільну не порожню множину одиниць між двома послідовними нулями або обмежену нулем праворуч (якщо місяць починається з робочого дня), або обмежену нулем ліворуч (якщо місяць не закінчується робочим днем). У вхідному файлі перший рядок містить цілеn
- кількість днів, а в наступному рядкуn
чисел, які визначають робочі і неробочі дні (1 ≤ n ≤ 1000000
). У вихідному файлі у першому рядку виведіть одне числоk
, яке визначає кількість тижнів, в наступному рядкуk
чисел, які визначають кількість робочих днів.
Вхідні дані:
Файл input.txt з вмістом 5 1 1 0 1 0
Вихідні дані:
Файл output.txt з вмістом 2 2 1
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть функцію, яка записує у текстовий файл рядок випадкових цілих чисел. Кожне випадкове число повинно бути в діапазоні від
1
до1000
. Користувач вказуєn
- кількість випадкових чисел, які файл буде зберігати.
Вхідні дані:
output.txt 3
Вихідні дані:
Файл output.txt має містити 3 випадкові числа з діапазону від 1 до 1000 включно
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму для гри «Вгадай число». Комп’ютер випадковим чином «загадує» число із певного, наперед заданого, діапазону, а користувач має його відгадати.
Вхідні дані:
Guess the number: 45 Guess the number: 89
Вихідні дані:
My number is more Congratulations! Number guessed!
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму для розрахунку вашого віку в поточному році для введеної дати народження. Використайте модуль
datetime
.
Вхідні дані:
1981 4 3
Вихідні дані:
38
Розділ: Файли і модулі | Рівень складності: високий
-
У вхідному файлі записаний текст. Словом вважається послідовність непробільних символів, що йдуть підряд, слова розділені одним або більшим числом пропусків або символами кінця рядка. Визначте, скільки різних слів міститься в цьому тексті.
Вхідні дані:
Вхідний файл input.txt з вмістом She sells sea shells on the sea shore; The shells that she sells are sea shells I'm sure. So if she sells sea shells on the sea shore, I'm sure that the shells are sea shore shells.
Вихідні дані:
19
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму для знаходження у текстовому файлі найдовшого слова.
Вхідні дані:
Вхідний файл input.txt з вмістом Python Ruby C++ C Java GO
Вихідні дані:
Python
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму для створення паролів, яка дозволяє створювати
k
паролів довжиниn
з цифр та малих і велих англійських букв. На вхід програми дані вводяться в порядкуn
іk
.
Вхідні дані:
5 3
Вихідні дані:
KdSsv 5u8nF YQjG2
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму для визначення різниці часу між двома датами: вказаною (минулою чи майбутньою) і поточною. Використайте модуль
datetime
. Дата вказується у двох рядках: у першому -Рік Місяць День
, у другому -Години Хвилини Секунди
. Усі значення вводяться через пропуск як у вхідних даних.
Вхідні дані:
2020 7 26 22 04 00
Вихідні дані:
365 days, 23 hours, 59 minutes, 54 seconds
Розділ: Файли і модулі | Рівень складності: високий
-
Дано два текстові файли: в першому записані в рядках назви мов програмування, а у іншому на відповідних рядках - рейтинги цих мов у відсотках. Напишіть програму для об’єднання кожного рядка з першого файлу з відповідним рядком у другому файлі. Об’єднанані рядки необхідно вивести на екран і, водночас, в такому вигляді як у вихідних даних, записати у третій текстовий файл.
Вхідні дані:
input.txt output.txt rating.txt
Вихідні дані:
Python 10.9 Ruby 2.9 C++ 6.5 C 1.6 Java 17.8 GO 1.8
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму для сортування даних про студентів, які записані у рядках файла через кому і пропуск у форматі: ім’я (рядок), вік (ціле число), зріст (дійсне число, два символи після десяткової крапки). Виконайте сортування за зростом в порядку зростання. Використайте модуль
operator
.
Вхідні дані:
input.txt
Вихідні дані:
[('Alex', '17', '179.50'), ('Tom', '19', '180.10'), ('John', '20', '181.00')]
Розділ: Файли і модулі | Рівень складності: високий
-
Відомості про учня, записані у файлі
input.txt
, складаються з його прізвища і назви класу (рік навчання і буква без пропуску), а також оцінок, отриманих за семестр, у форматі:Прізвище Клас Оцінки
. Число оцінок в різних класах може бути різним. Запишіть у файлoutput.txt
прізвища тих учнів, середній бал яких більше, ніж6
.
Вхідні дані:
Вхідний файл input.txt з вмістом Barnes 9A 4 5 7 2 3 2 Davidson 10A 7 7 5 Clifford 11B 11 10 8 9 7 Ramacey 8A 5 6 6 5 White 7A 8 5 5 8 9 Porter 11A 11 8 Dean 10B 3 4 5 4 5 Gate 11A 6 5 3 4 3 5
Вихідні дані:
Вихідний файл output.txt з вмістом Davidson Clifford White Porter
Розділ: Файли і модулі | Рівень складності: високий
-
У вхідному файлі записаний текст. Словом вважається послідовність непробільних символів, що йдуть підряд, слова розділені одним або більшим числом пропусків або символами кінця рядка. Для кожного слова з цього тексту підрахуйте, скільки разів воно зустрічалося в цьому тексті раніше.
Вхідні дані:
Вхідний файл input.txt з вмістом She sells sea shells on the sea shore; The shells that she sells are sea shells I'm sure. So if she sells sea shells on the sea shore, I'm sure that the shells are sea shore shells.
Вихідні дані:
0 0 0 0 0 0 1 0 0 1 0 0 1 0 2 2 0 0 0 0 1 2 3 3 1 1 4 0 1 0 1 2 4 1 5 0 0
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть функцію, яка вибирає випадкове слово з переліку слів із словника
SOWPODS
(sowpods.txt ). Кожен рядок у файлі містить одне слово.
Вхідні дані:
sowpods.txt
Вихідні дані:
MACAHUBA
Розділ: Файли і модулі | Рівень складності: високий
-
Деякий банк хоче впровадити систему управління рахунками клієнтів, що підтримує такі операції:
Поповнення рахунку клієнта. Зняття грошей з рахунку. Запит залишку коштів на рахунку. Переказ грошей між рахунками клієнтів. Нарахування відсотків всім клієнтам.
Вам необхідно реалізувати таку систему. Клієнти банку ідентифікуються іменами (унікальний рядок, що не містить пропусків). Спочатку у банку немає жодного клієнта. Як тільки для клієнта проводиться операція поповнення рахунку, зняття або переказу грошей, йому заводиться рахунок з нульовим балансом. Всі подальші операції проводяться тільки з цим рахунком. Сума на рахунку може бути як додатною, так і від’ємною, при цьому завжди є цілим числом. Вхідний файл містить послідовність операцій. Можливі такі операції:
DEPOSIT name sum - зарахувати суму sum на рахунок клієнта name. Якщо у клієнта немає рахунку, то рахунок створюється. WITHDRAW name sum - зняти кошти sum з рахунку клієнта name. Якщо у клієнта немає рахунку, то рахунок створюється. BALANCE name - дізнатися залишок коштів на рахунку клієнта name. TRANSFER name1 name2 sum - перевести суму sum з рахунку клієнта name1 на рахунок клієнта name2. Якщо у будь-якого клієнта немає рахунку, то йому створюється рахунок. INCOME p - нарахувати всім клієнтам, у яких відкриті рахунки, p% від суми на рахунку. Відсотки нараховуються тільки клієнтам з додатним залишком на рахунку, якщо у клієнта залишок від’ємний, то його рахунок не змінюється. Після нарахування відсотків сума на рахунку залишається цілою, тобто нараховується тільки ціле число грошових одиниць. Дробова частина нарахованих відсотків відкидається.
Для кожного запиту BALANCE
програма повинна вивести залишок на рахунку даного клієнта. Якщо ж у клієнта із запитуваним ім’ям не відкритий рахунок в банку, виведіть ERROR
.
Вхідні дані:
Вхідний файл input.txt з вмістом DEPOSIT Sasha 100 INCOME 5 BALANCE Sasha TRANSFER Sasha Elena 50 WITHDRAW Elena 100 BALANCE Elena BALANCE Iryna
Вихідні дані:
105 -50 ERROR
Розділ: Файли і модулі | Рівень складності: високий
-
Як відомо, в США президент обирається не прямим голосуванням, а шляхом дворівневого голосування. Спочатку проводяться вибори в кожному штаті і визначається переможець виборів в даному штаті. Потім проводяться державні вибори: на цих виборах кожен штат має певну кількість голосів - число вибірників від цього штату. На практиці, всі виборці від штату голосують відповідно до результатів голосування в межах штату, тобто на заключній стадії виборів в голосуванні беруть участь штати, що мають різне число голосів. Вам відомо за кого проголосував кожен штат і скільки голосів було віддано даними штатом. Підведіть підсумки виборів: для кожного з учасника голосування визначте число відданих за нього голосів. Кожен рядок вхідного файлу містить прізвище кандидата, за якого віддають голоси виборці цього штату, потім через пропуск йде кількість голосів, які віддали за цього кандидата. Виведіть прізвища всіх кандидатів в лексикографічному порядку, потім, через пропуск, кількість відданих за них голосів.
Вхідні дані:
Вхідний файл input.txt з текстом Biden 10 Biden 5 Trump 9 Trump 8 Biden 1
Вихідні дані:
Biden 16 Trump 17
Розділ: Файли і модулі | Рівень складності: високий
-
Дано базу даних про продажі деякого інтернет-магазину. Кожен рядок вхідного файлу є записом виду
Покупець Товар Кількість
, деПокупець
- ім’я покупця (рядок без пропусків),Товар
- назва товару (рядок без пропусків),Кількість
- кількість придбаних одиниць товару. Створіть список всіх покупців, а для кожного покупця підрахуйте кількість придбаних ним одиниць кожного виду товарів. Вводяться відомості про покупки в зазначеному форматі як у вхідних даних. Виведіть список всіх покупців в лексикографічному порядку, після імені кожного покупця виведіть двокрапка, потім виведіть список назв всіх придбаних даними покупцем товарів в лексикографічному порядку, після назви кожного товару виведіть кількість одиниць товару, придбаних даними покупцем. Інформація про кожен товар виводиться в окремому рядку.
Вхідні дані:
Вхідний файл input.txt з текстом Sasha paper 10 Iryna pens 5 Sasha marker 3 Sasha paper 7 Iryna envelope 20 Sasha envelope 5
Вихідні дані:
Iryna: envelope 20 pens 5 Sasha: envelope 5 marker 3 paper 17
Розділ: Файли і модулі | Рівень складності: високий
-
Дано текст у файлі. Виведіть всі слова, що зустрічаються в тексті, по одному на кожен рядок. Слова повинні бути відсортовані за спаданням їх кількості появи в тексті, а при однаковій частоті появи - в лексикографічному порядку. Примітка. Після того, як ви створите словник усіх слів, вам захочеться впорядкувати його по частоті слова. Бажаного можна домогтися, якщо створити список, елементами якого будуть кортежі з двох елементів: частота зустрічальності слова і саме слово. Наприклад,
[(2, 'hi'), (1, 'what'), (3, 'is')]
. Тоді стандартне сортування буде сортувати список кортежів, при цьому кортежі порівнюються по першому елементу, а якщо ці елементи рівні - то по другому.
Вхідні дані:
Вхідний файл input.txt з текстом hi hi what is your name my name is bond james bond my name is damme van damme claude van damme jean claude van damme
Вихідні дані:
damme is name van bond claude hi my james jean what your
Розділ: Файли і модулі | Рівень складності: високий
-
«Камінь, ножиці, папір» - популярна гра руками, відома в багатьох країнах і часто використовується для жеребкування. Напишіть програму, яка визначає переможця у грі комп’ютера та людини, за наступним алгоритмом:
1. Комп’ютер «загадує» ціле випадкове число в діапазоні від 0 до 2. 2. Гравець робить свій вибір, уводячи число 0, 1 або 2. 3. Виводиться повідомлення про вибір комп’ютера та вибір гравця. 4. За правилами гри визначається переможець. 5. Виводиться повідомлення про перемогу або нічию.
Вхідні дані:
0 stone 1 scissors 2 paper 0-1-2 -> 2 Сontinue? (y/n) y 0-1-2 -> 1 Сontinue? (y/n) n
Вихідні дані:
Computer chose paper draw Computer chose paper you won! Thanks for game!
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму, яка зчитує вміст текстового файлу, підраховує кількість появи кожного слова (неперервний рядок символів) у файлі і записує в інший файл як у вихідних даних.
Вхідні дані:
Текстовий файл input.txt з довільним текстом
Вихідні дані:
Текстовий файл output.txt з подібним змістом you 2 don't 1 know 1 about 2 me 1 without 2
Розділ: Файли і модулі | Рівень складності: високий
-
Вам запропонували створити програму, яка допоможе у перевірці робіт теоретичного іспиту з правил дорожнього руху. Іспит складається з
20
варіантів запитань, в кожному з яких відповідями є лише одне значення із списку:A
,B
,C
,D
. Програма повинна прочитати відповіді студента на кожне з20
питань з текстового файлу (відповіді розташовуються на окремих рядках). Після того, як відповіді були прочитані з файлу, програма повинна відображати повідомлення про те, чи студент пройшов іспит чи не пройшов його (необхідно правильно відповісти на15
з20
питань, щоб скласти іспит). Після цього має відображатися загальна кількість правильних відповідей на запитання, кількість неправильних відповідей та список із зазначенням номерів запитань, на які відповідь була неправильною.
Вхідні дані:
input1.txt input2.txt
Вихідні дані:
You failed Correctly answerd question is 7 Incorrectly answerd question is 13 Wrong answers 2 3 5 8 9 10 11 12 13 14 17 18 19 You passed Correctly answerd question is 17 Incorrectly answerd question is 3 Wrong answers 7 13 19
Розділ: Файли і модулі | Рівень складності: високий
-
В олімпіаді з інформатики брало участь кілька осіб. Переможцем олімпіади стає людина, яка набрала найбільше балів. Переможці визначаються незалежно по кожному класу. Визначте кількість балів, яку набрав переможець в кожному класі. Гарантується, що в кожному класі був хоча б один учасник. Інформація про результати олімпіади записана у файлі, кожен рядок якого має вигляд: прізвище ім’я клас бал. Прізвище та ім’я - текстові рядки, що не містять пропусків. Клас - одне з трьох чисел
9
,10
,11
. Бал - ціле число від0
до100
. У інший файл запишіть три числа в одному рядку через пропуск: бали переможця олімпіади з9
класу, з10
класу, з11
класу.
Вхідні дані:
Файл input.txt з вмістом Albert Einstein 9 90 Ernest Rutherford 10 91 Lev Landau 11 92 Enrico Fermi 9 93
Вихідні дані:
Файл output.txt з вмістом 93 91 92
Розділ: Файли і модулі | Рівень складності: високий
-
В олімпіаді з інформатики брало участь кілька осіб. Гарантується, що в кожному класі був хоча б один учасник. Визначте і запишіть у файл середні бали учасників олімпіади в
9
класі, в10
класі, в11
класі. Інформація про результати олімпіади записана у файлі, кожен рядок якого має вигляд: прізвище ім’я клас бал. Прізвище та ім’я - текстові рядки, що не містять пропусків. Клас - одне з трьох чисел9
,10
,11
. Бал - ціле число від0
до100
.
Вхідні дані:
Файл input.txt з вмістом Albert Einstein 9 90 Ernest Rutherford 10 91 Lev Landau 11 92 Enrico Fermi 9 93
Вихідні дані:
Файл output.txt з вмістом 91.5 91.0 92.0
Розділ: Файли і модулі | Рівень складності: високий
-
В олімпіаді з інформатики брало участь кілька осіб. Визначте кількість школярів, які стали переможцями в кожному класі. Переможцями оголошуються всі, хто набрав найбільшу кількість балів по даному класу. Гарантується, що в кожному класі був хоча б один учасник. Запишіть у файл три числа в одному рядку через пропуск: кількість переможців олімпіади з
9
класу, з10
класу, з11
класу.
Вхідні дані:
Файл input.txt з вмістом Albert Einstein 9 90 Niels Bohr 9 93 Ernest Rutherford 10 91 Lev Landau 11 92 Enrico Fermi 9 93 Ivan Puluj 10 91
Вихідні дані:
Файл output.txt з вмістом 2 2 1
Розділ: Файли і модулі | Рівень складності: високий
-
В олімпіаді з інформатики брало участь кілька осіб. Залік в олімпіаді проводиться без поділу на класи. Запишіть у файл прізвище та ім’я переможця олімпіади. Якщо таких декілька - виведіть тільки їх кількість.
Вхідні дані:
Файл input.txt з вмістом Albert Einstein 9 92 Niels Bohr 9 93 Ernest Rutherford 10 95 Lev Landau 11 92 Enrico Fermi 9 95 Ivan Puluj 10 91
Вихідні дані:
Файл output.txt з вмістом 2
Розділ: Файли і модулі | Рівень складності: високий
-
Напишіть програму, яка зчитує вміст двох текстових файлів і друкує списки слів, які задовільняють наступним умовам: які з’являються в обох файлах; які з’являються у першому файлі, але не в другому; які з’являються у другому файлі, але не у першому; які з’являються в першому або другому файлі, але не в обох одночасно.
Вхідні дані:
input.txt output.txt
Вихідні дані:
In both files: список слів, що з’являються в обох файлах Appear in the first file but not the second: список слів, які з'являються у першому файлі, але не в другому Appear in the second file but not the first file: список слів, які з'являються у другому файлі, але не у першому Appear in either the first or second file but not both: список слів, які з'являються в першому або другому файлі, але не в обох одночасно
Розділ: Файли і модулі | Рівень складності: високий
-
Дано файл з таблицею у форматі
TSV
(значення, розділені табуляцією) з інформацією про зріст школярів різних класів. Напишіть програму, яка прочитає цей файл і підрахує для кожного класу середній зріст учня. Файл складається з набору рядків, кожна з яких представляє собою три поля:Клас Прізвище Зріст
. Клас позначається тільки числом. Літери в назві класу не використовуються. Номер класу може бути від1
до11
включно. У тексті прізвища немає пропусків, а в якості зросту використовується ціле число, але при підрахунку середнього потрібно обчислити значення у вигляді дійсного числа. Виводити інформацію про середнє значення зросту слід в порядку зростання номера класу (для класів з першого по одинадцятий). Якщо про якийсь клас немає інформації, необхідно вивести навпроти нього «тире» як у вихідних даних.
Вхідні дані:
Вхідний файл input.txt з таблицею у форматі TSV (значення, розділені табуляцією) з трьома полями: Клас Прізвище Зріст
Вихідні дані:
1 124.75 2 129.33 3 134.44 4 139.00 5 144.88 6 155.75 7 164.00 8 165.90 9 170.20 10 170.50
Розділ: Файли і модулі | Рівень складності: високий
-
Зашифруйте текст у текстовому файлі шифром Цезаря, при цьому символи першого рядка файла повинні циклічно зміщуватися на
1
, другого рядка - на2
, третього рядка - на три і т. д. У кожному рядку містяться різні символи, які можуть бути розділені пропусками. Шифрувати потрібно тільки великі і малі букви латинського алфавіту. Програма повинна записати шифровані рядки у інший файл.
Вхідні дані:
Файл input.txt з вмістом Success consists of going from failure to failure without loss of enthusiasm You miss 100% of the shots you do not take It is not the strongest of the species that survives, nor the most intelligent, but the one most responsive to change Fall seven times and stand up eight There are no shortcuts to any place worth going
Вихідні дані:
Файл output.txt з вмістом Tvddftt dpotjtut pg hpjoh gspn gbjmvsf up gbjmvsf xjuipvu mptt pg fouivtjbtn Aqw okuu 100% qh vjg ujqvu aqw fq pqv vcmg Lw lv qrw wkh vwurqjhvw ri wkh vshflhv wkdw vxuylyhv, qru wkh prvw lqwhooljhqw, exw wkh rqh prvw uhvsrqvlyh wr fkdqjh Jepp wizir xmqiw erh wxerh yt imklx Ymjwj fwj st xmtwyhzyx yt fsd uqfhj btwym ltnsl
Розділ: Файли і модулі | Рівень складності: високий
-
Дано файл, що містить слова, записані на окремих рядках. Слова можуть повторюватися. Надрукуйте з файла список слів на основі першого символу слова в лексикографічному порядку у вигляді як у вихідних даних.
Вхідні дані:
Файл input.txt з текстом
Вихідні дані:
a: ask b: be c: come call d: do f: find feel g: get go give h: have k: know l: look leave m: make s: say see seem t: take think tell u: use w: want work
Розділ: Файли і модулі | Рівень складності: високий
-
При обробці тексту часто потрібно «почистити» текст перед тим, як робити з ним якісь інші дії. Наприклад, якщо ви хочете підрахувати кількість входжень слів в тексті, для спрощення завдання перед початком підрахунку можна подбати про те, щоб весь текст був записаний в нижньому регістрі (або у верхньому) і з нього були вилучені всі знаки пунктуації. Також можна розбити текст на послідовності слів. Виконайте таку нормалізацію тексту на прикладі тексту з першої частини першого розділу книги «Дон Кіхот» Мігеля де Сервантеса Сааведри, який можна звантажити із проекту gutenberg.org . Для виконання завдання, спочатку завантажте текстовий файл, що містить текст книги, далі скопіюйте із завантаженого файла перший розділ у новий файл з назвою
quixote.txt
. Прочитайте дані із текстового файлаquixote.txt
і потурбуйтеся про те, щоб всі символи були приведені до одного регістру, видаліть всі знаки пунктуації і запишіть слова по одному на рядок у інший текстовий файл з ім’ямquixote_clean.txt
.
Вхідні дані:
Вхідний файл quixote.txt з початковим текстом
Вихідні дані:
Вихідний файл quixote_clean.txt з нормалізованим текстом
Розділ: Файли і модулі | Рівень складності: високий
-
Необхідно підрахувати кількість входжень слів в тексті першої частини першого розділу книги «Дон Кіхот» Мігеля де Сервантеса Сааведри, який можна звантажити із проекту gutenberg.org . Для спрощення завдання, скористайтеся чистим файлом
quixote_clean.txt
з попереднього завдання. Використайте словник для підрахунку входжень кожного слова, а потім виведіть слова і кількості входжень (5
пар), які зустрічаються в тексті найчастіше і найменшу кількість разів у форматі як у вихідних даних.
Вхідні дані:
Вхідний файл quixote_clean.txt з нормалізованим текстом
Вихідні дані:
Most common words: ('of', 88) ('and', 79) ('the', 70) ('he', 68) ('to', 65) Least common words: ('treats', 1) ('pursuits', 1) ('donquixote', 1) ('manchain', 1) ('desire', 1)
Розділ: Файли і модулі | Рівень складності: високий
-
У вхідному файлі задано 5 цілих чисел як у вхідних даних. Зчитайте ці числа з файлу, і запишіть один рядок - результат аналізу у інший файл, згідно наступних умов:
якщо однакові 5 чисел, то вивести «Impossible», інакше якщо однакові 4, то вивести «Four of a Kind», інакше якщо однакові 3 и 2, то вивести «Full House», інакше якщо є 5 послідовних, то вивести «Straight», інакше якщо однакові 3, то вивести «Three of a Kind», інакше якщо однакові 2 і 2, то вивести «Two Pairs», інакше якщо однакові 2, то вивести «One Pair», інакше вивести «Nothing».
Вхідні дані:
1 3 9 3 2 1 5 5 4 4 10 11 12 13 1
Вихідні дані:
One Pair Two Pairs Nothing
Розділ: Файли і модулі | Рівень складності: високий
-
Аналіз файлів - невід’ємна частина роботи з ними. Іноді виникає необхідність підрахувати кількість рядків або слів в тексті. З цим завданням ефективно справляється команда
wc
вLinux
. Звернувшись доman
-сторінки утилітиwc
, ви побачите, що ключі командного рядка вирішують н