Objectif du code: imprimer un motif triangulaire
Sur quoi itère la première et la seconde boucle de ce code.
La première boucle itère sur les lignes du triangle, et la deuxième boucle itère sur le nombre d'étoiles à imprimer sur chaque ligne.
Boucle imbriquée
1.Que permet de faire ce code?
2.Aquoi servent les variable i et j?
3 que se passe-t-il à chaque itération de la boucle interne?
1.Il permet d'imprimer un motif triangulaire à l'aide d'une structure de boucles imbriquées.
2.Variable 'i': représente chaque nombre allant de 0 à 4 pour l'itération de la boucle externe
Variable 'j': représente chaque nombre de l'itération de la boucle interne allant de 0 à i
3.affichage d'une astéRisque
Boucle imbriquée: matrice
Qu'est-ce qu'une matrice?
Dans une matrice de type liste de liste:
1.Que représente chaque ligne de matrice?
2.comment sont repéré chaque éléments d'une matrice?
C'est une structure de donnée, un tableau ,composée de lignes et de colonnes. Elle peut être représentée sous forme de liste de listes.
Dans ce cas:
1. Chaque liste interne représente une ligne de la matrice, et les éléments individuels de la matrice sont les éléments des listes internes.
2.Chaque élément de la matrice est identifié par ses indices de ligne et de colonne.
Comprendre les matrices: recherche d'éléments
Si on a
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Quel chiffre récupere t-on avec matrix[1][2] ?
6
boucle imbriquées : Comprendre les matrices
A l'aide de quelle expression va-ton itérer sur les colonnes de la matrice b?
range(len(matrix_b[0]))
boucle imbriquées : Comprendre les matrices
Que permet de stocker la variable k dans cette boucle imbriquée
Elle crée et stocke un indice commun de ligne a et b
Comprendre les matrices: recherche d'éléments
1. A quoi sert la boucle externe, sur quoi itère t-elle?
2. Sur quoi itère la boucle interne
3. Que permet l'instruction break ici
1.La première boucle itère sur les sous-listes (lignes) de la matrice
2.La deuxième boucle itère sur les éléments à l'intérieur de chaque sous-liste.
3.Stopper la boucle et afficher "Elément trouvé" lorsque la boucle arrive au nombre ciblé
Boucle for: Fonction range()
1.A quoi sert la fonction range?
2.Que permet -elle de faire avec la boucle for
2.Dans l'image ci dessus dire a quoi renvoie les mots clés "start","stop","step"
1.A générer une séquence de nombre
2.Elle permet d'itérer avec la boucle for une série(=séquence) de nombres spécifiques
3.
start : la valeur de départ de la séquence (par défaut : 0)
stop : la valeur de fin de la séquence (non incluse)
step : l'incrément entre les nombres de la séquence (par défaut : 1)
Exercice entraînement
Imprimer une succession de nombres allant de 1 à 10.
Exercice entraînement
Calculer la somme des nombres allant de 1 à 100.
(1+2=result+3=result+4 etc)
Exercice entraînement:
Compter le nombre de voyelles dans une chaîne de caractères.
Exercice entraînement:
Calculer la factorielle de 5
def "factorielle"
Une factorielle est le produit de tous les nombres entiers positifs jusqu'à un certain nombre donné, par exemple, la factorielle de 5 est égale à 1 * 2 * 3 * 4 * 5.
NB : il est important d'initialiser factorial à 1 plutôt qu'à 0, car si on le mettait à 0, alors le résultat de la factorielle serait toujours 0, peu importe la valeur de number. En effet, lors du calcul de la factorielle, on multiplie les nombres de 1 à number par factorial. Si factorial était initialisé à 0, alors tous les produits seraient également 0, car tout nombre multiplié par 0 donne 0. Donc, pour obtenir le bon résultat, on initialise factorial à 1 pour que le premier nombre multiplié ne soit pas affecté par une multiplication par 0.
Exercice entraînement:
Convertir une liste(au choix) de températures de Celsius à Fahrenheit.
ps: Température en Fahrenheit = (Température en Celsius × 9/5) + 32
Exercice entraînement:
numbers = [10, 5, 7, 12, 8]
Consigne:Calculer la moyenne des éléments de la liste number
Exercice entraînement: boucle imbriquée, range()
Trouver les nombres premiers de 1 à 100.
nb: L'expression `(num % i)` calcule le reste de la division de `num` par `i`.
- Si le reste est égal à 0, cela signifie que `num` est divisible par `i` sans laisser de reste, ce qui indique qu'il n'est pas un nombre premier.
- L'instruction `break` est utilisée pour sortir de la boucle interne immédiatement dès qu'on trouve un diviseur autre que 1 et `num` lui-même.
- En sortant de la boucle interne avec `break`, on passe au prochain nombre de la boucle externe.
- Si aucun diviseur n'a été trouvé pour `num` dans la boucle interne, cela signifie que `num` est un nombre premier, donc on l'affiche.
Exercice entraînement: boucle imbriquée, range()
1.Quel est l'objectif de ce bloc de code?
2.Que permet de réaliser cette instruction:
is_prime = True
3.Que permet de réaliser cette instruction:
"for i in range(2, int(num ** 0.5) + 1):"
1. Méthode pour trouver les nombres premiers qui viennent avant le chiffre entré par l'utilisateur
2.Cette ligne initialise une variable is_prime à True: chaque nombre est premier à moins que nous prouvions le contraire.
3. boucle for qui itère sur chaque nombre i dans une séquence allant de 2 jusqu'à la racine carrée de num (arrondie à l'entier supérieur). Cette boucle est utilisée pour vérifier si num est divisible par un autre nombre que 1 et lui-même. Par exemple, si num est 9, la boucle itérera sur les nombres 2, 3.
Exercice entraînement: boucle imbriquée, range()
Objectif: trouver les nombre premier en utilisant leur racine carrée et boucle
Pourquoi dans ce code j'utilise ``range(2, int(num ** 0.5) + 1)``
et non ``range(2, int(num ** 0.5) ,1)``?
nous utilisons range(2, int(num ** 0.5) + 1) pour inclure la racine carrée de num dans la boucle, afin de vérifier correctement la divisibilité par tous les nombres jusqu'à la racine carrée, et non seulement jusqu'à l'entier précédant la racine carrée.
quel différence il y a t-il entre (range(len(matrix_b[0])) et range(len(matrix_b))?
lorsque j' utilise range(len(matrix_b[0]))j' itére sur les indices des colonnes d'une matrice (sous-liste),
tandis que lorsque j' utilise range(len(matrix_b)), j' itére sur les indices des lignes de la matrice (liste de sous-listes).
que permet l'indice commun k dans matrix_a et matrix_b?
l' indice commun k pour parcour les colonnes de matrix_a et les lignes de matrix_b, afin d'effectuer la multiplication correcte des éléments.
ERREUR:
pourquoi ici j'ai un message d'erreur?
matrix_b contient une sous liste en trop ce qui rend la multiplication matricielle impossible.La taille des indices de ligne doit etre la meme pour les matrice A et B.
nb:L'instruction assert est utilisée pour vérifier une condition donnée. Dans ce cas, nous vérifions si le nombre de colonnes de matrix_a est égal au nombre de lignes de matrix_b. Si la condition n'est pas satisfaite, une exception AssertionError est levée avec le message spécifié entre guillemets.
Essaye d'analyser et commenter chaque ligne de code en précisant le role d'"assert" et result = [[0] * cols_b for _ in range(rows_a)]
(ou lit directement la réponse si c'est trop compliqué!)
result = [[0] * cols_b for _ in range(rows_a)]
Cette ligne crée une matrice result de dimensions rows_a x cols_b et l'initialise avec des zéros. La compréhension de liste [0] * cols_b génère une liste de zéros de longueur cols_b. Ensuite, la boucle for _ in range(rows_a) répète cette liste rows_a fois pour former la matrice result.
Prenons un exemple concret avec matrix_a de dimensions 3x3 et matrix_b de dimensions 4x3 :