TP2 variables
Travaux pratiques
Ouvrir dans winpython > python QTConsole
Opérations sur les nombres
Tester les scripts suivants dans l’editeur Python. Pour cela, recopier dans l’ordre, et dans la même cellule, chacune des instructions du script, et executer celle-ci. Repondre ensuite aux questions.
Script 1
Incrémenter une variable…
- Question a: quelle est la valeur de
ageà la fin du script?
Script 2
Le programme suivant permet de connaitre en quelle année un enfant, né en 2022, aura 17 ans
-
Question b1: Un enfant né en 2022. En quelle année aura-t-il 17 ans?
-
Question b2: Ré-écrire le script précédent pour déterminer l’année à laquelle il aura 33 ans.
Script 3
On veut réaliser les opérations suivantes:
- Question c: Quel est le résultat (c’est à dire la valeur finale de
nombre) pour une valeur de departnombre = 5?
Script 4
Écrire un programme dans l’éditeur qui :
- affecte 3 à la variable
nombre - Ajoute 7 au triple du nombre.
- Multiplie le résultat par le nombre lui-même.
- Soustrait au résultat le nombre 1 ;
- Affiche le résultat obtenu.
Ne pas utiliser de nouvelles variables pour les résultats intermédiaires. Seulement nombre
- Question d: Quel est le résultat?
Script 5: permuter la valeur de 2 variables
On veut mettre la valeur de a dans b et celle de b dans a. Le problème est que lorsque l’on fait…
… on se retrouve avec les mêmes valeurs pour b et pour a. Il n’y a pas eu d’echange.
L’idée est d’utiliser une troisième variable c pour stocker la valeur de b, échanger a et b, puis affecter c à a:
On fait alors c <- b, b <- a, puis a <- c.
- Question e: Ecrire la série d’instructions correspondantes. Puis vérifier qu’il y a bien eu échange entre les variables. Utiliser une f-string:
print(f"a={a}, b={b}")
Opérations sur les chaines de caractères
Script 6
Associer des chaines de caractères.
Cet exemple vous rappelle que l’opérateur + est l’opérateur de concaténation avec les chaines de caractères.
- Question f: Ecrire un nouveau script qui construit le message suivant:
Ho Ho Ho Ho Ho Ho Ho Ho Ho Ho, où le nombre deHoest stocké dans une variable N.
Astuce: utiliser l’opérateur *
Script 7
Associer des valeurs numériques et des chaines de caractères
- Question g: Le script s’execute t-il, ou bien renvoie-t-il une erreur? Quelle erreur le cas écheant?
- Question h: Modifier l’avant derniere ligne par:
message = "mon nom est " + nom + ", et j'ai " + str(age) + " ans". Le script fonctionne t-il? Que renvoie t-il?
Remarque: La fonction str va tranformer la valeur numerique age en une chaine de caractères (les caractères “2” et “1”).
Tester également les méthodes:
Que constatez-vous?
Script 8
Afficher avec la fonction print
- Question i: Completer la derniere ligne du script pour afficher la phrase entière. Vous ne devrez pas écrire les chiffres 45, 26 et 19 dans le message. Seulement utiliser les variables.
Nous avons vu qu’une chaine de caractère pouvait être construite comme une association de plusieurs chaines de caractères. Une chaine de caractères est de type string (ou str) en python.
Pour vérifier le type d’une variable, on utilise la fonction type
Testez chacune des instructions suivantes pour vérifier le type des différentes variables
- Question j: Compléter le tableau
| x= | valeur | type(x) |
|---|---|---|
| 45 | ||
| “45” + “45” | ||
| “45” * 3 | ||
| 45%26 | ||
| 45/26 | ||
| 45//26 | ||
| 45 // 6 | ||
| 45 % 6 | ||
| str(45) | ||
| 2**8 | ||
| 6.02e-3 |
Script 9
Calculer en physique
Dans une cellule Python,
- commencez par attribuer 100 à la variable
m, et 20 à la variablev - calculer puis afficher E, l’energie cinetique pour un systeme de masse 100kg et de vitesse $20m.s^{-1}$, selon la loi:
-
Question j: Quelle est l’expression que vous avez saisie en langage Python? Quelle est la valeur calculée pour l’énergie cinetique?
-
Question k: Construire une chaine de caractères, en utilisant un f-string et précisant les conditions initiales, les valeurs pour m et pour v, et le résultat du calcul de l’énergie cinétique. Recopier ici cette instruction en python.
Script 10
Voici un exemple de fonction en python:
- Question l: créer une fonction
Ecqui prend pour paramètresmetvet retourne le resultat de $Ec = \tfrac{1}{2}m.v^2$. Appeler cette fonction avec les valeurs 100kg et $20m.s^{-1}$
Fiche de synthèse
- Définir ce qu’est une variable.
- Comment le site Pythontutor illustre t-il la création de variables suivante? Faire un schéma
- Quel est le rôle du symbole
=en python? - Quelle fonction python permet de connaitre le type de
x? - Qu’est-ce qu’une affectation multiple, en une seule ligne d’instruction?
- Comment échange t-on la valeur de 2 variables
aetb? Donner DEUX méthodes. - Pourquoi l’instruction:
print("aujourd'hui j'ai "+ 18 +"ans")ne fonctionne t-elle pas? Corriger cette expression. Donner 2 moyens:- avec changement de type int->str et l’opérateur
+ - avec une f-string (expression formatée)
- avec changement de type int->str et l’opérateur
- Quelle instruction donne le quotient
qdea=45parb=6? Quelle instruction donne le resterde cette division. - Quelle instruction permet de vérifier que
aet égal à(a//b)*b+a%b? Votre expression devra utiliser les variablesqetret l’opérateur de comparaison==. - Donner un exemple d’utilisation d’une expression formatée pour écrire le résultat du calcul de la force de gravitation $F=G\times m_1 \times m_2/d^2$, à partir des différentes variables.
- Quel sera le type associé à
Fsi l’on réalise le calcul? - Comment définir une fonction
F_gravitationpour réaliser le calcul deF? - Comment utiliser cette fonction pour calculer la force de gravitation Terre-Lune?
$M_T = 5.972\times 10^{24}kg$,
$M_L = 7.348\times 10^{22}kg$,
$d = 3.844\times 10^{8}m$,
$G = 6.67\times 10^{-11}SI$