<commit_before>"""
    Hacer un conversor de gradación
    a. De Celsius a Fahrenheit y de Fahrenheit a Celsius
    b. Escribir una función que genere aleatoriamente valores de temperatura entre -5 y 40ºC
    c. Escribir una función que genere una tupla con 1200 valores de temperatura
    d. Considerar que cada 100 datos del apartado C es un mes. Dar una media de temperaturas por meses
    e. Definir una función que traduzca la tupla de Celsius a Fahrenheit y viceversa
"""
from random import randint


def conversor(grados, de_f_a_c=False):
    """ Conversor de grados. Por defecto convierte de Celsius a Fahrenheit.
    Si el segundo parámetro es True convertirá de Fahrenheit a Celsius
    """
    if de_f_a_c:
        return (grados - 32) / 1.8
    else:
        return grados * 1.8 + 32


def rand_temp(mes=0):
    """ Genera un número aleatorio entre distintos rangos según el mes.
    Diciembre, Enero y Febrero [-10, 10]
    Marzo, Abril y Mayo o Octubre y Noviembre [3, 25]
    Junio, Julio, Agosto y Septiembre [20, 40]
    """
    if mes <= 2 or mes >= 12:
        return randint(-10, 10)
    if 3 <= mes <= 5 or 10 <= mes <= 11:
        return randint(3, 25)
    if 6 <= mes <= 9:
        return randint(20, 40)
    else:
        return randint(-5, 40)


def gen_tem():
    ret = ()
    for i in range(1200):
        ret += rand_temp(i // 100 + 1),
    return ret


def subdivide_gen():
    return [gen_tem()[100 * x + 0: 100 * x + 100] for x in range(len(gen_tem()) // 100)]


def media_mes():
    ret = ()
    for element in subdivide_gen():
        ret += sum(element) / len(element),
    return ret


def con_tuple(tupla, de_f_a_c=False):
    ret = ()
    for elem in tupla:
        ret += conversor(elem, de_f_a_c)
    return ret


print(media_mes())
<commit_msg>Ej35 docstring<commit_after>"""
    Hacer un conversor de gradación
    a. De Celsius a Fahrenheit y de Fahrenheit a Celsius
    b. Escribir una función que genere aleatoriamente valores de temperatura entre -5 y 40ºC
    c. Escribir una función que genere una tupla con 1200 valores de temperatura
    d. Considerar que cada 100 datos del apartado C es un mes. Dar una media de temperaturas por meses
    e. Definir una función que traduzca la tupla de Celsius a Fahrenheit y viceversa
"""
from random import randint


def conversor(grados, de_f_a_c=False):
    """ Conversor de grados. Por defecto convierte de Celsius a Fahrenheit
    Si el segundo parámetro es True convertirá de Fahrenheit a Celsius
    """
    if de_f_a_c:
        return (grados - 32) / 1.8
    else:
        return grados * 1.8 + 32


def rand_temp(mes=0):
    """ Genera un número aleatorio entre distintos rangos según el mes
    Diciembre (12), Enero (1) y Febrero (2) [-10, 10]
    Marzo (3), Abril (4) y Mayo (5) o Octubre (10) y Noviembre (11) [3, 25]
    Junio (6), Julio (7), Agosto (8) y Septiembre (9) [20, 40]
    En cualquier otro caso [-5, 40]
    """
    if mes <= 2 or mes >= 12:
        return randint(-10, 10)
    if 3 <= mes <= 5 or 10 <= mes <= 11:
        return randint(3, 25)
    if 6 <= mes <= 9:
        return randint(20, 40)
    else:
        return randint(-5, 40)


def gen_tem():
    """ Genera y devuelve una tupla de 1200 temperaturas aleatorias a 100 temperaturas por mes
    """
    ret = ()
    for i in range(1200):
        ret += rand_temp(i // 100 + 1),
    return ret


def subdivide_gen():
    """ Devuelve una lista con las temperaturas divididas de 100 en 100
    """
    return [gen_tem()[100 * x + 0: 100 * x + 100] for x in range(len(gen_tem()) // 100)]


def media_mes():
    """ Devuelve la media de temperaturas de cada mes
    """
    ret = ()
    for element in subdivide_gen():
        ret += sum(element) / len(element),
    return ret


def con_tuple(tupla, de_f_a_c=False):
    """ Convierte y devuelve los grados de una tupla
    Por defecto convierte de Celsius a Fahrenheit
    Si de_f_a_c = True convertirá de Fahrenheit a Celsius
    """
    ret = ()
    for elem in tupla:
        ret += conversor(elem, de_f_a_c)
    return ret


print(media_mes())

{'fraction_non_alphanumeric': 0.09709931170108162, 'fraction_numerical': 0.045476892822025564, 'mean_word_length': 2.633035714285714, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3482474', 'n_tokens_mistral': 1584, 'n_tokens_neox': 1434, 'n_words': 543}