Экзамен

ЛАЙФ КОДИНГ ПО ВСЕМ ТЕМАМ

Avito code (https://code.avito.ru/) Yandex code (https://code.yandex-team.ru/) Tinkoff Digital Interview (https://interview.tbank.ru/)


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

Задание 1 (Операции с данными: Арифметические операции, операции сравнения, логические операции)

Тема: 02.03 - Операции с данными

Простые задания

Арифметические операции

Example

  • Напишите программу, которая выводит:
    • Сумму двух чисел.
    • Разность двух чисел.
    • Произведение двух чисел.
    • Результат деления двух чисел.

  • Решение:

     
    # Числа
    a = 5
    b = 2
     
    # Операции
    print("Сумма:", a + b)
    print("Разность:", a - b)
    print("Произведение:", a * b)
    print("Деление:", a / b)
     

Операции сравнения

Example

  • Напишите программу, которая сравнивает два числа и выводит:
    • Число a больше, меньше или равно числу b.

  • Решение:

     
    # Числа
    a = 7
    b = 10
     
    # Сравнение
    if a > b:
        print(f"{a} больше {b}")
    elif a < b:
        print(f"{a} меньше {b}")
    else:
        print(f"{a} равно {b}")
     

Средние задания

Арифметические и логические операции

Example

  • Напишите программу, которая:
    • Сравнивает сумму двух чисел с третьим числом.
    • Проверяет, меньше ли произведение двух чисел, чем третье число.
  • Решение:

     
    # Числа
    a = 2
    b = 3
    c = 10
     
    # Проверки
    print("Сумма больше третьего?", a + b > c)
    print("Произведение меньше третьего?", a * b < c)
     

Логические операции

Example

  • Напишите программу, которая проверяет, входит ли заданное число в диапазон от 10 до 20 (включительно).
  • Подсказка

    Текстовые подсказки:

    1. Создание переменной

      В программе будет использоваться переменная number, в которую вы запишите число, вводимое пользователем. Ее можно получить через input().

    2. Условие проверки (if-else)

      Используйте оператор if для проверки, входит ли число в диапазон от 10 до 20 включительно. Это делается с помощью логического условия:

       
      10 <= number <= 20
       

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

    3. Обработка ввода

      Число, которое вводится через input(), следует преобразовать в целое число с помощью функции int(). Это важно, потому что данные из input() по умолчанию имеют строковый тип.

  • Решение:

     
    # Число
    number = 15
     
    # Проверка диапазона
    if 10 <= number <= 20:
        print("Число в диапазоне")
    else:
        print("Число вне диапазона")
     

Сложное задание

Простейший калькулятор

Example

  • Напишите программу, которая:
    • Выполняет одну из арифметических операций (+, , , /, %, //, *) между двумя числами.
    • Если операция деления (/, //, %) выбирается при втором числе равном 0, программа должна выводить сообщение об ошибке.
  • Решение:

     
    a = float(input("Введите первое число: "))
    b = float(input("Введите второе число: "))
    operation = input("Введите операцию (+, -, *, /, %, //, **): ")
     
    # Калькулятор
    if operation == "+":
        print("Результат:", a + b)
    elif operation == "-":
        print("Результат:", a - b)
    elif operation == "*":
        print("Результат:", a * b)
    elif operation == "/":
        if b != 0:
            print("Результат:", a / b)
        else:
            print("Ошибка: Деление на 0")
    elif operation == "%":
        print("Результат:", a % b)
    elif operation == "//":
        print("Результат:", a // b)
    elif operation == "**":
        print("Результат:", a ** b)
    else:
        print("Ошибка: Неверная операция")

Задание 2 Манипуляции над типами данных

Тема: 02.02 - Переменные и Типы данных, 02.05 - Изменяемые и неизменяемые типы данных

Простые задания

Манипуляции над строками (методы строк)

Example

  • Напишите программу, которая:
    • Создаёт строку text = "Python is awesome!".
    • Применяет к этой строке метод upper() и выводит результат.
    • Применяет метод replace() для замены слова awesome на amazing и выводит результат.
  • Решение:

     
    # Исходная строка
    text = "Python is awesome!"
     
    # Применение методов
    print("Заглавные буквы:", text.upper())
    print("Замена слова:", text.replace("awesome", "amazing"))
     

Срезы (слайсинг) строк

Example

  • Напишите программу, которая:
    • Создаёт строку text = "Hello, Python!".
    • Выводит первые 5 символов строки.
    • Выводит все символы строки через один.
  • Решение:

     
    # Исходная строка
    text = "Hello, Python!"
     
    # Срезы
    print("Первые 5 символов:", text[:5])
    print("Символы через один:", text[::2])
     

  • Округление цифр

    Задание:

    Напишите программу, которая:

    1. Создаёт число pi = 3.14159.
    2. Округляет его до двух знаков после запятой.
    3. Выводит результат.

    Подсказки:

    1. Создание числа

      Начните с создания переменной pi, в которой хранится число с плавающей точкой (например, 3.14159).

    2. Использование функции round

      Для округления числа используйте функцию round(). Она принимает два аргумента:

      • первое — число, которое нужно округлить;
      • второе — количество знаков после запятой.

      Например:

      округленное_число = round(число, количество_знаков)
       
    3. Вывод результата

      Выводите результат с помощью функции print().


    Пример кода:

    pi = 3.14159
    rounded_pi = round(pi, 2)
    print(rounded_pi)
     

    Результат:

    3.14
    
    

Средние задания

Замена подстрок

Example

  • Напишите программу, которая:
    • Создаёт строку quote = "Python is easy and powerful!".
    • Заменяет easy на fun и powerful на versatile.
    • Выводит результат.
  • Решение:

    Используй функцию replace() для замены слов в строке


Задания с f”строкой”

Example

  • Напишите программу, которая:
    • Создаёт переменные name = "Alice" и age = 25.
    • Формирует строку вида: Alice is 25 years old. с помощью f-строки и выводит её.

Сложное задание

Example

  1. Обработка строки и числа вместе
    • Напишите программу, которая:
      • Создаёт строку data = "Price: 1234.5678 USD".
      • Извлекает числовую часть строки (1234.5678) с помощью среза и преобразует её в число.
      • Округляет это число до двух знаков после запятой.
      • Формирует новую строку вида: "Rounded price: 1234.57 USD" и выводит её.
  • Решение:

    # Исходная строка
    data = "Price: 1234.5678 USD"
     
    # Извлечение числовой части
    number_part = float(data[7:-4])
     
    # Округление числа
    rounded_number = round(number_part, 2)
     
    # Формирование новой строки
    result = "Rounded price: " + str(rounded_number) + " USD"
    print(result)

Задание 3 Массивы и другие структуры данных в Python

Тема: 02.04 - Коллекции данных

Простые задания

Работа со списком

Example

Создайте список fruits = ["apple", "banana", "cherry", "date"].

  • Добавьте в список новый фрукт "kiwi".
  • Удалите фрукт "banana".
  • Выведите итоговый список.
  • Решение:

    fruits = ["apple", "banana", "cherry", "date"]
    fruits.append("kiwi")
    fruits.remove("banana")
    print(fruits)  # ['apple', 'cherry', 'date', 'kiwi']

Работа со словарём

Example

  • Создайте словарь person = {"name": "Alice", "age": 25, "city": "New York"}.
  • Обновите возраст на 26.
  • Добавьте новый ключ "profession" со значением "engineer".
  • Выведите обновлённый словарь.
  • Решение:

    person = {"name": "Alice", "age": 25, "city": "New York"}
    person["age"] = 26
    person["profession"] = "engineer"
    print(person)  # {'name': 'Alice', 'age': 26, 'city': 'New York', 'profession': 'engineer'}

Средние задания

Работа с кортежем

Example

  • Создайте кортеж numbers = (10, 20, 30, 40, 50).
  • Выведите второй элемент кортежа.
  • Попробуйте изменить значение третьего элемента и объясните результат.
  • Решение:

     
    numbers = (10, 20, 30, 40, 50)
    print(numbers[1])  # 20
     
    # Кортеж неизменяемый, следующий код вызовет ошибку:
    # numbers[2] = 35  # TypeError: 'tuple' object does not support item assignment
     

Работа с множеством

Example

  • Создайте множество colors = {"red", "blue", "green"}.
  • Добавьте новый цвет "yellow".
  • Удалите цвет "blue".
  • Попробуйте добавить уже существующий цвет "red" и объясните результат.
  • Решение:

    colors = {"red", "blue", "green"}
    colors.add("yellow")
    colors.remove("blue")
    colors.add("red")  # Уже существует, множество останется без изменений.
    print(colors)  # {'red', 'green', 'yellow'}
     

Сложное задание

Работа с диапазоном и списками

Example

  • Создайте диапазон чисел от 1 до 20 включительно.
  • Преобразуйте его в список.
  • Найдите сумму всех чисел в списке.
  • Найдите все числа, которые делятся на 3, и создайте из них новый список.
  • Выведите оба списка: оригинальный и новый.
  • Решение:

     
    # Создаём диапазон
    num_range = range(1, 21)
     
    # Преобразуем в список
    num_list = list(num_range)
     
    # Находим сумму всех чисел
    total_sum = sum(num_list)
     
    # Числа, делящиеся на 3
    divisible_by_3 = [num for num in num_list if num % 3 == 0]
     
    print("Оригинальный список:", num_list)
    print("Сумма чисел:", total_sum)
    print("Числа, делящиеся на 3:", divisible_by_3)
     

Задания 4 на тему “Циклы в Python”

Тема: 02.07 - Циклы

Простое задание

Example

Вывод чисел от 1 до 10

Напишите программу, которая использует цикл for, чтобы вывести числа от 1 до 10.


Среднее задание

Example

Обратный отсчёт

Напишите программу, которая использует цикл while для вывода чисел от 10 до 1, а затем выводит сообщение "Счёт завершён!".


Сложное задание

Example

Таблица умножения на 5

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


Мега задание Магазин гоблина из Warcraft 3

Задание: Магазин гоблина из Warcraft 3

Example

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

  1. Имеет словарь товаров и их цен. Например:
    • Зелье лечения: 100 золотых
    • Зелье маны: 80 золотых
    • Свиток скорости: 150 золотых
    • Артефакт магии: 300 золотых
  2. Запрашивает у игрока название товара и количество.
  3. Проверяет, есть ли товар в магазине:
    • Если есть, программа рассчитывает стоимость и выводит её.
    • Если общая стоимость заказа превышает 500 золотых, гоблин делает скидку 20%.
    • Если товара нет, гоблин говорит: “У меня такого нет, попробуй в другом месте!”

Пример кода

 
# Товары в магазине гоблина
goblin_shop = {
    "Зелье лечения": 100,
    "Зелье маны": 80,
    "Свиток скорости": 150,
    "Артефакт магии": 300
}
 
# Ввод данных от игрока
item = input("Что хотите купить? ")
quantity = int(input("Сколько хотите купить? "))
 
# Проверка наличия товара
if item in goblin_shop:
    total_price = goblin_shop[item] * quantity
    print(f"Изначальная стоимость: {total_price} золотых")
 
    # Применение скидки
    if total_price > 500:
        total_price *= 0.8  # Скидка 20%
        print("Гоблин говорит: 'Твоя скидка 20%! Покупай быстрее, пока я не передумал!'")
 
    print(f"Итоговая стоимость: {total_price:.2f} золотых")
else:
    print("Гоблин говорит: 'У меня такого нет, попробуй в другом месте!'")
 

⬅️ Назад: 02.08 - Паттерны решения задач | Далее: 03 - MOC ➡️ Модуль: 02 - MOC