NSI,2022-223, TP2

proposition correction syracuse

def syracuse(n):
    vol=(n,) # on définit un tuple contenant n
    while n!=1:
        if n%2==0:
            n=n//2
        else:
            n=n*3+1
        vol+=(n,) # j'ajoute n au tuple
    return vol

def hauteur_vol(n):
    '''
    retourne la valeur max du vol de n
    '''
    return max(syracuse(n)) # retourne la val max du tuple syracuse(n)

def longueur_vol(n):
    '''
    retourne le nbre d'étapes du vol de n
    '''
    return len(syracuse(n)) # retourne la longueur du tuple syracuse(n)

Proposition correction activité 1 et 2

def inverse(message):
    message_inverse=""
    for index in range(len(message)-1,-1,-1):
        message_inverse=message_inverse+message[index]
    return message_inverse

def inverse_tout(machin):
    if type(machin)==int:
        return int(inverse(str(machin)))
    return inverse(machin)

def palindromme(message): # à faire avec inverse_tout