Created
October 19, 2025 10:32
-
-
Save Mark-Uri/4bd181c0ed88f32a9fdbbba4e0d0ffc3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 1. Створіть функцію, яка підраховує кількість цифр у числі | |
| def count_digits(n): | |
| s = str(n) | |
| count = 0 | |
| for ch in s: | |
| if ch.isdigit(): | |
| count += 1 | |
| return count | |
| print(count_digits(12345)) | |
| print(count_digits(-12.30)) | |
| 2. Користувач вводить рядок, необхідно отримати кількість повторень кожного слова в рядку. Ігноруємо коми, крапки. | |
| Вивід: | |
| слово: кількість | |
| і т.д. | |
| def word_count(text): | |
| text = text.lower() | |
| text = text.replace(",", " ").replace(".", " ") | |
| words = text.split() | |
| result = {} | |
| for w in words: | |
| if w in result: | |
| result[w] += 1 | |
| else: | |
| result[w] = 1 | |
| return result | |
| counts = word_count("Привет, привет. Как дела?") | |
| for word, cnt in counts.items(): | |
| print(f"{word}: {cnt}") | |
| 3. Створити список із цілих чисел. Його необхідно відфільтрувати, щоб у результаті залишилися парні числа. Вивести квадрати цих чисел, використовуючи map. | |
| def even_squares(numbers): | |
| evens = [] | |
| for x in numbers: | |
| if x % 2 == 0: | |
| evens.append(x) | |
| squares = list(map(lambda x: x * x, evens)) | |
| return squares | |
| print(even_squares([1, 2, 3, 4, 12, 7])) | |
| 4. Створіть словник, у якому кожна пара — це студент і список його оцінок | |
| * Вивести по кожному студенту середній бал | |
| * Вивести студента з максимальною оцінкою | |
| def students_summary(students): | |
| for name, grades in students.items(): | |
| if len(grades) == 0: | |
| avg = 0 | |
| else: | |
| total = 0 | |
| for g in grades: | |
| total += g | |
| avg = total / len(grades) | |
| print(f"{name}: средний балл = {avg}") | |
| top_student = None | |
| top_mark = None | |
| for name, grades in students.items(): | |
| for g in grades: | |
| if top_mark is None or g > top_mark: | |
| top_mark = g | |
| top_student = name | |
| print(f"Максимальная оценка {top_mark} у студента {top_student}") | |
| students = { | |
| "Ivan": [90, 80], | |
| "Olena": [100, 95, 90], | |
| "Taras": [60, 75, 88] | |
| } | |
| students_summary(students) | |
| 5. Напишіть функцію, яка приймає рядок і повертає словник, де ключ — це символ рядка, а значення — кількість його повторень. | |
| def char_freq(text): | |
| result = {} | |
| for ch in text: | |
| if ch in result: | |
| result[ch] += 1 | |
| else: | |
| result[ch] = 1 | |
| return result | |
| print(char_freq("hello")) | |
| 6. Створіть кортеж із кількох рядків і чисел. Напишіть функцію, яка повертає новий кортеж, що містить лише числа. | |
| def only_numbers(t): | |
| result_list = [] | |
| for x in t: | |
| if isinstance(x, (int, float)): | |
| result_list.append(x) | |
| return tuple(result_list) | |
| print(only_numbers(("hi", 42, "x", 3.14, 7))) | |
| 7. Напишіть функцію, яка приймає список рядків і повертає список, у якому рядки відсортовані за довжиною. | |
| def sort_by_length(strings): | |
| sorted_list = sorted(strings, key=len) | |
| return sorted_list | |
| words = ["apple", "kiwi", "banana", "pear"] | |
| print(sort_by_length(words)) | |
| 8. Створіть словник із даними про співробітників компанії (ім’я, посада, зарплата). Напишіть функцію, яка сортує співробітників за зарплатою. | |
| def sort_employees(employees): | |
| sorted_list = sorted(employees, key=lambda x: x["salary"]) | |
| return sorted_list | |
| emps = [ | |
| {"name": "Ivan", "job": "Dev", "salary": 1200}, | |
| {"name": "Olena", "job": "PM", "salary": 2000}, | |
| {"name": "Taras", "job": "QA", "salary": 1500} | |
| ] | |
| result = sort_employees(emps) | |
| for emp in result: | |
| print(emp["name"], emp["salary"]) | |
| 9. Використовуючи лямбда-вираз, створіть функцію, яка повертає найбільше з двох чисел. | |
| max_num = lambda a, b: a if a > b else b | |
| print(max_num(10, 5)) | |
| print(max_num(7, 9)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment