def calc_control(num):
    """
    Рассчитывает контрольное число кода EAN-13.

    Цифры набора нумеруются справа налево.
    Подсчитываются суммы цифр, стоящих на четных и нечетных местах.
    Сумма цифр, стоящих на четных местах, суммируется с утроенной суммой цифр, стоящих на нечетных местах.
    Если цифра единиц полученного результата равна нулю, то контрольная цифра — 0.
    Если последняя цифра результата не нуль, то контрольная цифра равна дополнению этой цифры до 10.

    :param num: число либо строка с первыми 12 числами
    :return: последнее контрольное число
    """
    rev = list(str(num))
    rev.reverse()
    sum_odd = sum([int(i) for i in rev[0::2]])
    sum_even = sum([int(i) for i in rev[1::2]])
    return (10 - ((sum_even + 3 * sum_odd) % 10)) % 10