👤

Sagot :

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

© 2024 IDNLearn. All rights reserved.