Informatique

Question

Besoin d’aide en nsi svp
Besoin d’aide en nsi svp

1 Réponse

  • Bonsoir,

    Exercice 1:

    1) L = [x**3 for x in range(11)]

    2) K = [x**2-3*x+2 for x in range(1,16)]

    3) J = [x + 's' for x in A]

    dans le dernier, x parcourt les valeurs de la liste A et puisque ces valeurs  sont de type string on peut ajouter un caractère, lui aussi de type string, à la fin en faisant +'carcteres'

    exemple:  

    a = "pist"    

    b = a + "ache"

    print(b) --> pistache

    Exercice 2:

    1) W = [x**2 for x in range(21) if x%2==0]

    la condition x%2==0 test si x est bien pair car si x est pair alors il est divisible par 2 donc le reste de la division euclidienne de x par 2 est 0

    Après si on veut les carrés des nombres pairs inférieurs ou égaux à 20 situés dans une liste il suffit de changer la syntaxe et la condition bien sur:

    W = [x**2 for x in LaListeEnQuestion if x%2==0 and x < 21]  

    2) Q = [x*12 for x in liste if x*12 < 241]

    3)

    def fonctionDiviseur(n):

      diviseurs = []

      for i in range (1, n+1):

         if n%i == 0:

            diviseurs.append(i)

      return diviseurs

    4) V = [x**2 if x%2==0 else x**3 for x in liste]

    Pour cette question j'ai été obligé de tester plusieurs choses et j'ai trouvé cette méthode qui fonctionne

    Exercice 3:

    1) Je n'y arrive pas cette question

    listeMots = ['Arbre',"Cheval","Banane"]

    liste = [(x,y) for x in listeMots if x[0] == 'A' or x[0] == 'B' for y in [1,2,3]]

    J'obtiens en sortie:

    [('Arbre', 1), ('Arbre', 2), ('Arbre', 3), ('Banane', 1), ('Banane', 2), ('Banane', 3)]

    et je ne sais pas comment y remédire

    2)L = [(x,y) for x in liste for y in liste2 if x>=0 and y <=3 and x+y >= 0 and x+y <=3]

    Bonne soirée