Python Codewars: Решаем задачи 8 kyu

Учиться программированию лучше всего на практике. Отличной платформой для оттачивания навыков является 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. Платформа удобна, не требует установки дополнительного ПО и предоставляет множество задач различной сложности. Регулярное решение задач поможет улучшить навыки и глубже понять язык.

Что будем искать? Например,программа