Corrigé - Atelier 1 - Types
Essayez de faire l'atelier avant de consulter ce corrigé.
Numéro 1
| Expression | Valeur | Type / Erreur |
|---|---|---|
-18.0 | -18.0 | float |
123 | 123 | int |
-10 | -10 | int |
007 | — | SyntaxError : les zéros non significatifs sont interdits pour un entier décimal |
3.012 | 3.012 | float |
.5 | 0.5 | float |
0.123 | 0.123 | float |
2 | 2 | int |
3. | 3.0 | float |
3,442 | (3, 442) | tuple ou erreur pour l'instant |
vrai | — | NameError: il faut l'écrire en anglais True |
True | True | bool |
true | — | NameError: en Python ça prend la majuscule True |
False | False | bool |
'Allo' | Allo | str |
"'" | ' | str |
"il fait "CHAUD"" | — | SyntaxError : les guillemets doubles imbriqués ne sont pas échappés |
Section optionnelle :
| Expression | Valeur | Type |
|---|---|---|
1_048_323 | 1048323 | int - le _ est un séparateur visuel, ignoré par Python |
1.23E-24 | 1.23e-24 | float - notation scientifique |
0b101 | 5 | int - écrit en binaire |
0x1A5 | 421 | int - écrit en hexadécimal |
Numéro 2
Texte 1 :
produit(str) ="café"prix(float) =3.50
Texte 2 :
montant(float) =50.0pctPourboire(float) =0.05total(float) = calculé à partir des deux valeurs précédentes
Texte 3 :
saveur(str) ="chocolat"couleurGlacage(str) ="rose"ecriture(bool) =False
ecriture pourrait aussi être un str avec la valeur vide "" ce qui permet d'avoir l'écriture à ajouter s'il y a lieu
Texte 4 :
processeur(str) ="i9"ramGo(int) =16stockageTo(int) =1
ramGo et stockageTo pourraient aussi être des float si on veut permettre des valeurs comme 1.5 To. On pourrait aussi séparer la variable en deux, par exemple ram et ramUnite pour avoir ram = 16 et ramUnite = "Go". Même chose pour le stockage.
Texte 5 :
nom(str) ="Philippe Girard"DA(str) ="1234567"programme(str) ="informatique"
Le nom pourrait être séparé en deux variables, par exemple prenom et nomFamille. Le DA peut sembler être un int, mais un DA peut commencer par un zéro ce qui n'est pas permis.
Texte 6 :
distanceKm(int) =100autoMarque(str) ="Nissan"autoModele(str) ="Versa"coutEssence(float) =42.32panne(bool) =False
On pourrait combiner autoMarque et autoModele en une seule variable auto de type str, mais ça rendrait plus difficile l'accès à la marque ou au modèle séparément.
Texte 7 :
poidsKg(float) =2.3adresse(str) ="452 rue des Érables"numeroSuivi(str) ="004829"endommage(bool) =TruedureeJours(int) =3
On pourrait séparer l'adresse en plusieurs variables, par exemple numeroCivique, rue, ville, province, codePostal.
Numéro 3
| Nom | Valide (Python) | Valide (normes) | Commentaire |
|---|---|---|---|
2eNote | Non | Non | commence par un chiffre |
mon-age | Non | Non | le tiret est interprété comme une soustraction |
for | Non | Non | mot réservé |
classe | Oui | Oui | valide et clair, ce n'est pas un mot réservé (contrairement à class) |
numéroDeCompte | Oui | Non | l'accent est refusé selon nos conventions |
mon age | Non | Non | l'espace sépare le nom en deux comme si on avait deux variables |
nomComplet | Oui | Oui | |
p | Oui | Non | pas clair, on ne sait pas ce que la variable représente |
True | Non | Non | mot réservé |
int | Oui | Oui | fonctionne, mais peut confondre avec le type int |
_age | Oui | Oui | |
age2024 | Oui | Oui | |
mon.age | Non | Non | point non permis |
NomDeFamille | Oui | Non | notation Pascal au lieu de notation chameau |
donnee | Oui | ??? | peut être vague selon le contexte |
print | Oui | Oui | mais cache la fonction native print() (que nous n'avons pas encore vues) |
Numéro 4
nom: str— correct2eMembre: str— Invalide en Python : un identificateur ne peut pas commencer par un chiffre, corriger ennumeroMembreprixAbonnement: str— Mauvais type :89.99$est un prix, doncfloatpour pouvoir faire des calculscarteVIP: str— Mauvais type : avoir une carte VIP ou non est unbool, passtrEntraineur: str— Ne respecte pas les normes : l'identificateur devrait être en notation chameau, doncentraineurnb_visites: int— Ne respecte pas les normes : l'identificateur devrait être en notation chameau, doncnbVisites