Учиться программированию лучше всего на практике. Отличной платформой для оттачивания навыков является Codewars. Codewars — образовательное сообщество разработчиков, где задачи называются «ката». Система использует геймификацию: чем больше задач решено, тем выше рейтинг («честь»). Задачи разбиты по языкам программирования и уровням сложности (рангам). Чем выше ранг, тем сложнее задачи. Рассмотрим решение простых задач 8 kyu на Python.
Начало работы с Codewars
Codewars (codewars.com) предлагает начать кодирование, выбрав язык программирования. Сайт англоязычный, но легко переводится браузером. После выбора Python, платформа предлагает исправить небольшой код (своеобразная капча). Затем необходимо зарегистрироваться, подтвердить почту и пройти короткий опрос, указав предпочитаемые области программирования и уровень владения языками.
Решение задач 8 kyu на Python
Для повышения ранга с 8 kyu до 7 kyu нужно решить определенное количество задач в разделе «Practice». Задачи можно отсортировать по популярности, выбрав язык Python и ранг 8 kyu.
Задача 1: Чётное или нечётное число
Описание: Написать функцию, которая принимает целое число и возвращает «Even» для чётных чисел и «Odd» для нечётных.
Решение: Проверить остаток от деления на 2:
def even_or_odd(number):
return "Even" if number % 2 == 0 else "Odd"
Задача 2: Сумма положительных чисел
Описание: Получить массив чисел и вернуть сумму всех положительных чисел.
Решение: Использовать генератор списков:
def positive_sum(arr):
return sum(x for x in arr if x > 0)
Задача 3: Отрицательное число
Описание: Преобразовать данное число в отрицательное. Если число уже отрицательное, оставить без изменений. 0 не меняется.
Решение: Использовать модуль и умножение на -1:
def make_negative(number):
return -abs(number)
Задача 4: Противоположное число
Описание: Найти противоположное число (поменять знак).
Решение:
def opposite(number):
return -number
Задача 5: Перевернуть строку
Описание: Перевернуть переданную строку.
Решение: Использовать срез со шагом -1:
def reverse_string(str):
return str[::-1]
Задача 6: Удалить первый и последний символ
Описание: Удалить первый и последний символы строки.
Решение: Использовать срез:
def remove_char(s):
return s[1:-1]
Задача 7: Преобразование логического типа в строку
Описание: Преобразовать логический тип (True/False) в строку («Yes»/»No»).
Решение: Условный оператор:
def bool_to_word(boolean):
return "Yes" if boolean else "No"
Задача 8: Преобразование числа в строку
Описание: Преобразовать число в строку.
Решение: Функция str():
def number_to_string(num):
return str(num)
Задача 9: Повторение строки
Описание: Повторить строку N раз.
Решение: Умножение строки на число:
def repeat_str(repeat, string):
return string * repeat
Решение задач на Codewars — эффективный способ практиковаться в программировании на Python. Платформа удобна, не требует установки дополнительного ПО и предоставляет множество задач различной сложности. Регулярное решение задач поможет улучшить навыки и глубже понять язык.