6 - If, while et for Flashcards

1
Q

Quelle est la différence entre les opérateurs == et = en Python ?

A

L’opérateur == est utilisé pour comparer deux valeurs et vérifier si elles sont égales, tandis que l’opérateur = est utilisé pour l’assignation de valeurs à des variables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Que fait l’opérateur % en Python et donnez un exemple d’utilisation ?

A

L’opérateur % est utilisé pour obtenir le reste d’une division. Exemple : 7 % 3 renverra 1, car 7 divisé par 3 donne un quotient de 2 et un reste de 1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Que se passe-t-il dans le code suivant si l’utilisateur entre 0 comme valeur ?

A

saisi = int(input(‘Entrez un nombre : ‘))

while saisi != 0:
saisi = int(input(‘Entrez un nombre : ‘))

print(‘Fin du programme.’)

Si l’utilisateur entre 0, la condition saisi != 0 devient False dès le début, donc la boucle while ne sera pas exécutée, et le programme affichera directement “Fin du programme.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment fonctionne la structure elif dans un bloc if ?

A

La structure elif permet de tester plusieurs conditions après une première condition if. Si la condition if est False, le programme teste la condition du elif. Si celle-ci est également False, le programme passe à l’instruction suivante ou au bloc else s’il est présent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quand utiliseriez-vous la boucle while plutôt que la boucle for ?

A

On utilise la boucle while lorsque le nombre d’itérations est inconnu et que l’on veut répéter une série d’instructions tant qu’une condition reste vraie. La boucle for, en revanche, est utilisée lorsque le nombre d’itérations est connu à l’avance ou défini par une séquence ou un intervalle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que fait ce code et quel sera le résultat si n = 5 ?

A

n = int(input(‘La valeur de n : ‘))

compteur = 1
somme = 0
while compteur <= n:
somme = somme + compteur
compteur = compteur + 1

print(‘La somme de 1 a’, n, ‘est :’, somme)

Ce code calcule la somme des nombres de 1 à n. Si n = 5, la somme sera 1 + 2 + 3 + 4 + 5 = 15.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quelle est la différence entre une boucle for et une boucle while ?

A

Une boucle for est utilisée lorsqu’on connaît le nombre d’itérations à effectuer, tandis qu’une boucle while est utilisée lorsque le nombre d’itérations n’est pas connu et dépend d’une condition logique.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Écrivez un script Python utilisant la boucle for qui calcule la somme des nombres pairs de 1 à n.

A

Voici le code qui calcule la somme des nombres pairs :

n = int(input(‘La valeur de n: ‘))

somme = 0
for compteur in range(1, n+1):
if compteur % 2 == 0:
somme = somme + compteur

print(‘La somme de 1 a’, n, ‘pair est :’, somme)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que fait l’opérateur // en Python et donnez un exemple ?

A

L’opérateur // effectue une division entière, c’est-à-dire qu’il renvoie uniquement la partie entière du résultat de la division. Par exemple, 7 // 3 renverra 2, car la division de 7 par 3 donne 2,666… et seule la partie entière est conservée.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que fait ce code ?

for x in range(10):
print(x)

A

Ce code affiche les nombres de 0 à 9. La fonction range(10) génère une séquence de nombres allant de 0 à 9, et à chaque itération, la valeur de x est affichée.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Exemple 2#

A

Saisit une valeur n. Calcule la somme cumulative de 1 à n.

Écrivez des scripts qui :

Saisit un nombre n et calcule la somme des nombres de 1 à n en utilisant la boucle for;

n = int(input(‘La valeur de n : ‘))

somme = 0
for compteur in range(1, n + 1):
somme = somme + compteur

print(‘La somme de 1 a’, n, ‘est :’, somme)

Saisit un nombre n et calcule la somme des nombres pairs de 1 à n ;
#Saisit une valeur n. Calcule la somme cumulative des nombres pairs de 1 à
#n. AVEC UN FOR.

n = int(input(‘La valeur de n: ‘))

somme = 0
#Additione de 1 a n
for compteur in range (1, n+1):
if compteur % 2 == 0:
somme = somme + compteur

print(‘La somme de 1 a’, n , ‘pair est : ‘, somme)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que renvoie l’expression suivante en Python et pourquoi ?
True and False

A

L’expression renvoie False car l’opérateur and nécessite que les deux conditions soient True pour renvoyer True. Si l’une des conditions est False, le résultat sera False.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que fait l’opérateur not et quel sera le résultat de l’expression suivante ?
not True

A

L’opérateur not inverse la valeur logique de l’expression. L’expression not True renverra False.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quelle est la différence entre les opérateurs and et or ?

A

L’opérateur and retourne True uniquement si les deux conditions sont vraies, tandis que l’opérateur or retourne True si au moins une des conditions est vraie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Expliquez ce que fait le code suivant dans le cadre de Pandas. Quel sera le résultat ?

import pandas as pd

df = pd.DataFrame({
‘A’: [10, 20, 30],
‘B’: [2, 4, 6]
})

df[‘C’] = df[‘A’] / df[‘B’]
print(df)

A

Ce code crée un DataFrame avec deux colonnes, A et B. Il calcule la division de chaque valeur de la colonne A par la valeur correspondante dans la colonne B et stocke les résultats dans une nouvelle colonne C. Le résultat sera :

A  B    C 0  10  2  5.0 1  20  4  5.0 2  30  6  5.0
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est-ce que la méthode loc fait dans un DataFrame et comment l’utiliser ?

A

La méthode loc permet de sélectionner des lignes et des colonnes par leurs étiquettes (noms). Par exemple, df.loc[0] retourne la première ligne du DataFrame. On peut aussi utiliser des conditions comme df.loc[df[‘A’] > 10] pour sélectionner les lignes où la colonne A est supérieure à 10.

17
Q

Quelle différence y a-t-il entre loc et iloc dans Pandas ?

A

loc est utilisé pour sélectionner des lignes et des colonnes par leurs étiquettes (noms), tandis que iloc est utilisé pour sélectionner par les indices numériques des lignes et des colonnes.

18
Q

Si vous avez un DataFrame df avec une colonne A, comment ajouter une colonne B qui contient le double des valeurs de la colonne A ?

A

Pour ajouter une colonne B qui contient le double des valeurs de la colonne A, on peut utiliser le code suivant :
df[‘B’] = df[‘A’] * 2

Cela ajoutera une nouvelle colonne B avec chaque valeur de la colonne A multipliée par 2.

19
Q

Que renverra l’expression suivante dans le contexte de Pandas ?
df.loc[df[‘A’] > 10]

A

Cette expression renverra toutes les lignes du DataFrame où la valeur de la colonne A est supérieure à 10. Elle retourne un sous-ensemble du DataFrame avec ces lignes.

20
Q

Quel est l’impact de l’expression suivante dans Pandas sur le DataFrame df ?
df[‘D’] = df[‘A’] + df[‘B’]

A

Cette ligne ajoute une nouvelle colonne D au DataFrame df et remplit chaque ligne avec la somme des valeurs correspondantes des colonnes A et B.

21
Q

Quel sera le résultat de l’expression suivante dans le cadre de Pandas, si df est un DataFrame contenant les colonnes A et B ?
df.iloc[1, 0]

A

Cette expression renverra la valeur de la ligne 1 et de la colonne 0 (en indexant à partir de 0). Si df est un DataFrame avec les colonnes A et B, elle renverra la valeur de df[‘A’][1].

22
Q

Exemple 3#
Écrivez un script qui contient un datafram avec l’âge d’utilisateur et modifié le dataframe pour indiquer si les utilisateurs ont droit à un tarif réduit. Le tarif réduit est disponible pour les personnes d’âge mineur (plus petit que 18) ou d’âge d’or (plus grand que 60). Affichez ensuite la liste des nom des personnes qui sont éligible au tarif réduit.

A

Le | permet de faire un “or” sur chacun des éléments avec Pandas

import pandas as pd

df = pd.DataFrame({‘nom’:[‘Bob’, ‘Anne’, ‘Alex’], ‘age’:[16, 76, 45]})
df[‘tarif_reduit’] = False

df[‘tarif_reduit’] = (df[‘age’] < 18) | (df[‘age’] > 60)

display(df)

noms_reduit = df[df[‘tarif_reduit’] == True][‘nom’].values
#Ou avec loc
noms_reduitv2 = df.loc[df[‘tarif_reduit’] == True, ‘nom’]

for nom in noms_reduit:
print(nom)