# imports
import plotly.express as px
from plotly.graph_objects import Scatter, Figure

### NE PAS MODIFIER ###
def syr_plot(l):
    title = "Syracuse" + " (n = " + str(l[0]) + " )"
    fig = Figure({  'layout':   { 'title': {'text': title},
                                'xaxis': {'title': {'text':"x"}},
                                'yaxis': {'title': {'text':"y"}},
                                }
                }
    )

    x = [ i for i in range(len(l)) ]
    t = Scatter(x=x, y=l, mode="lines+markers", marker_color = "blue")
    fig.add_trace(t)
    fig.show()
    # fig.write_html('fig.html', include_plotlyjs='cdn')
    return None
#######################

def syracuse_l(n):
    """retourne la suite de Syracuse de source n

    Args:
        n (int): la source de la suite

    Returns:
        list: la suite de Syracuse de source n
    >>> l = syracuse_l(129)
    >>> isinstance(l, list)
    True
    >>> len(l)
    122
    >>> l[15:19]
    [188, 94, 47, 142]
    >>> syracuse_l(3)
    [3, 10, 5, 16, 8, 4, 2, 1]
    >>> syracuse_l(4)
    [4, 2, 1]
    >>> syracuse_l(5)
    [5, 16, 8, 4, 2, 1]
    >>> syracuse_l(6)
    [6, 3, 10, 5, 16, 8, 4, 2, 1]
    >>> len(syracuse_l(27))
    112
    >>> len(syracuse_l(31))
    107
    >>> len(syracuse_l(41))
    110
    """
    l = [ n ]
    return l

def temps_de_vol(l):
    """Retourne le temps de vol d'une suite de Syracuse

    Args:
        l (list): la suite de Syracuse

    Returns:
        int: le temps de vol
    >>> temps_de_vol(syracuse_l(3))
    8
    >>> temps_de_vol(syracuse_l(4))
    3
    >>> temps_de_vol(syracuse_l(5))
    6
    >>> temps_de_vol(syracuse_l(6))
    9
    """
    n = 0
    return n

def temps_de_vol_en_altitude(l):
    """Retourne le temps de vol en altitude d'une suite de Syracuse

    Args:
        l (list): la suite de Syracuse

    Returns:
        int: le temps de vol en altitude
    >>> temps_de_vol_en_altitude(syracuse_l(3))
    7
    >>> temps_de_vol_en_altitude(syracuse_l(4))
    2
    >>> temps_de_vol_en_altitude(syracuse_l(5))
    4
    >>> temps_de_vol_en_altitude(syracuse_l(6))
    2
    """
    n = 0
    return n

def altitude_maximale(l):
    """retourne l'altitude maximale d'une suite de Syracuse

    Args:
        l (list): la suite de Syracuse

    Returns:
        int: l'altitude maximale
    >>> altitude_maximale(syracuse_l(3))
    16
    >>> altitude_maximale(syracuse_l(4))
    4
    >>> altitude_maximale(syracuse_l(5))
    16
    >>> altitude_maximale(syracuse_l(6))
    16
    """
    n = 0
    return n



def main():
    pass
    # print(syracuse_l(27))
    # syr_plot(syracuse_l(27))

if __name__ == "__main__":
    main()