#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Oct  7 13:45:56 2022

@author: pjoulaud
"""

def applique(une_fonction, une_liste):
    """
    >>> applique(len, ['Joe', 'Max-Bill', 'Alexandra'])
    [3, 8, 9]
    >>> applique(lambda x:x*x, [2, 4, 5])
    [4, 16, 25]
    """
    ma_liste = []
    for i in une_liste :
        res = une_fonction(i)
        ma_liste.append(res)
    return ma_liste

def applique2(une_fonction, une_liste):
    """
    >>> applique2(len, ['Joe', 'Max-Bill', 'Alexandra'])
    [3, 8, 9]
    >>> applique2(lambda x:x*x, [2, 4, 5])
    [4, 16, 25]
    """
    ma_liste = []
    for i in une_liste :
        ma_liste.append(une_fonction(i))
    return ma_liste

def applique3(une_fonction, une_liste):
    """
    >>> applique3(len, ['Joe', 'Max-Bill', 'Alexandra'])
    [3, 8, 9]
    >>> applique3(lambda x:x*x, [2, 4, 5])
    [4, 16, 25]
    """
    return [une_fonction(i) for i in une_liste]

applique(lambda char:char.upper(),['Joe', 'Max-Bill', 'Alexandra'])
mystere = lambda liste:applique(lambda nb:nb**2, liste)
majuscule = lambda une_liste:applique(lambda char:char.upper(), une_liste)

