Program Arcade Games With Python And Pygame

Program Arcade Games
With Python And Pygame

Chapter 1: Créez un calculateur personnalisé

(Salut ! Si vous n'avez pas encore installé Python et Pygame sur votre ordinateur, retournez à la section « précédente » pour les télécharger et les installer afin que vous puissiez commencer.)

1.1 Introduction

fig.trajectory

Une des choses les plus simples que l'on peut faire avec Python, c'est de l'utiliser comme une super-calculatrice. Attendez, une calculatrice n'est pas un jeu. Pourquoi parlons-nous calculatrices ? C'est ennuyeux....

Hé, pour calculer la chute d'objets, les trajectoires des balles et les scores, nous avons besoin de calculs. De plus, tout vrai geek considère une calculatrice comme un jouet plutôt que comme un instrument de torture ! Commençons notre apprentissage des jeux par une calculatrice. Ne vous inquiétez pas, nous commencerons les graphismes au chapitre 5.

Un simple programme de calcul peut être utilisé pour demander à l'utilisateur des informations puis pour calculer des choses ennuyeuses comme les versements hypothécaires, ou des choses plus amusantes comme la trajectoire des boules de boue quand elles volent dans les airs.

La figure 1.1 montre un exemple de programme qui calcule l'énergie cinétique, quelque chose dont nous pourrions avoir besoin pour le moteur physique d'un jeu.

fig.kinetic_energy
Figure 1.1: Utiliser Python pour calculer l'énergie cinétique

L'intérêt de faire ceci avec un programme c'est de cacher la complexité d'une équation. Touts ce que l'utilisateur a à faire, c'est de fournir les informations et il ou elle peut obtenir le résultat dans un format facile à comprendre. Une calculatrice personnalisée similaire pourrait fonctionner sur un smartphone, permettant à une personne d'effectuer facilement le calcul n'importe où.

1.2 Affichage

1.2.1 Afficher un Texte

Comment un programme fait-il pour afficher quelque chose à l'écran? Le code est simple. Une seule ligne est nécessaire :

print("Hello World.")
fig.printing_calculator

Ce programme affiche « Hello World » à l'écran. Allez-y et entrez ce code dans IDLE et regardez le résultat. Essayez d'afficher d'autres mots et d'autre phrases également. L'ordinateur se fera un plaisir d'afficher tout ce que vous voudrez, que ce soit vrai ou pas.

À quoi ressemble le programme « Hello World » dans d'autres langages de programmation ? Allez voir dans Wikipedia. Ils ont une belle série de programmes « Hello World » écrits dans différents langages de programmation informatique :
http://fr.wikipedia.org/wiki/Liste_de_programme_Hello_world

Il est intéressant de voir combien de langages de programmation différents existent. Vous pouvez avoir une idée de la complexité d'un language par la facilité avec laquelle on réalise le programme « Hello world ».

Video: La fonction print

Retenez ceci, l'instruction pour afficher en Python est simple. Utilisez seulement print. Après l'instruction print il y a des parenthèses ( ). Entre ces parenthèses se trouve ce qui sera affiché à l'écran. L'utilisation de parenthèses pour passer des informations à une fonction est une pratique courante en mathématiques, et dans les langages informatiques.

Les étudiants en mathématiques apprennent à utiliser des parenthèses pour évaluer des expressions comme $sin(\theta)=cos(\frac{\pi}{2}-\theta)$. $sin$ et $cos$ sont des fonctions. La donnée transmise à ces fonctions est à l'intérieur des parenthèses. Ce qui est différent dans notre cas, c'est que l'information transmise est du texte.

Notez qu'il y a des guillemets doubles autour du texte à afficher. Si une instruction print utilise des guillemets autour du texte, l'ordinateur l'affichera exactement comme il est écrit. Par exemple, ce programme permet d'afficher 2 + 3 :

print("2 + 3")

1.2.2 Afficher le Résultat d'un Calcul

Le programme suivant n'a pas de guillemets autours de $2+3$, et l'ordinateur l'évaluera comme une expression mathématique. Il affichera 5 au lieu de 2+3.

print(2 + 3)

Le code ci-dessous génèrera une erreur car l'ordinateur va essayer d'évaluer « Hellow World » comme une expression mathématique, et cela ne fonctionnera pas du tout :

print(Hello World)

Le code ci-dessus va afficher une erreur SyntaxError: invalid syntax qui est la manière pour l'ordinateur de dire qu'il ne sait pas ce que signifient « Hello » et « World ».

De plus, gardez à l'esprit que ceci est un guillemet simple : ' et ceci un guillemet double : ". Si je demande un guillemet double, c'est une erreur classique d'écrire "" ce qui est en fait un double guillemet double !

1.2.3 Afficher Plusieurs Choses

Une instruction d'affichage peut afficher plusieurs choses à la fois, chaque élément étant séparé par une virgule. Par exemple, ce code va afficher Votre nouveau score est 1040

print("Votre nouveau score est", 1030 + 10)

La prochaine ligne de code affichera Votre nouveau score est 1030 + 10. Les nombres ne sont pas additionnés parce qu'ils sont entre des guillemets. Tout ce qui est entre guillemets, l'ordinateur l'interprète comme du texte. Tout ce qui n'est pas entre guillemets, l'ordinateur l'interprète comme une expression mathématique ou une instruction.

print("Votre nouveau score est", "1030 + 10")
Une virgule doit elle aller à l'intérieur ou à l'extérieur des guillemets ?

Le prochain exemple de code ne fonctionne pas du tout. C'est parce qu'il n'y a pas de virgule séparant le texte entre les guillemets, et le 1030+10. Dans un premier temps, il peut sembler qu'il y a une virgule, mais la virgule est à l'intérieur des guillemets. La virgule qui sépare les termes à afficher doit être à l'extérieur des guillemets. Si le programmeur veut afficher une virgule, alors elle doit être à l'intérieur des guillemets :

print("Votre nouveau score est," 1030 + 10)

L'exemple suivant fonctionne, parce qu'il y a une virgule pour séparer les termes. Il affichera :
Votre nouveau score est, 1040
Notez que seule une virgule est affichée. Les virgules en dehors des guillemets séparent les termes, les virgules à l'intérieur des guillemets sont affichées. La première virgule est affichée, la seconde est utilisée pour séparer les termes.

print("Votre nouveau score est,", 1030 + 10)

1.3 Codes d'échappement

Si les guillemets sont utilisés pour indiquer à l'ordinateur le début et la fin de la chaîne de caractères que vous souhaitez afficher, comment un programme affiche-t-il un guillemet double ? Par exemple :

print("Je veux afficher un guillemet " pour une raison quelconque.")

Ce code ne fonctionne pas. L'ordinateur trouve les guillemets au milieu de la chaîne et l'interprète comme la fin du texte. Puis il ne comprend pas la commande pour une raison quelconque et le guillemet à la fin de la chaîne le perd encore plus.

Il est nécessaire d'indiquer à l'ordinateur que nous voulons traiter le guillemet double du milieu comme du texte, pas comme un guillemet de fin de chaîne. C'est simple, il suffit de faire précéder le guillemet d'une barre oblique inverse pour indiquer à l'ordinateur qu'il fait partie de la chaîne et qu'il n'est pas un caractère de fin de chaîne. Par exemple :

print("Je veux afficher un guillemet \" pour une raison quelconque.")
fig.escape_codes

Cette combinaison des deux caractères \" est appelée code d'échappement. Presque tous les languages l'utilisent. Parce que la barre oblique inversée est utilisée dans le code d'échappement, elle doit elle même être échappée. Par exemple, ce code ne fonctionnera pas correctement :

print("Le fichier est stocké dans C:\nouveau dossier")

Pourquoi ? Parce \n est un code d'échappement. Pour afficher la barre oblique inverse, il est nécessaire de l'échapper, comme ceci :

print("Le fichier est stocké dans C:\\nouveau dossier")

Il y a d'autres codes d'échappement importants à savoir. Voici un tableau des codes d'échappement les plus importants :
Codes d'échappementDescription
\'Guillemet Simple
\"Guillemet Double
\tTabulation
\rCR : Carriage Return (Retour Chariot : retour à gauche)
\nLF : Linefeed (Saut de Ligne : déplacement vers le bas)

Qu'est-ce qu'un « Retour Chariot » et un « Saut de Ligne » ? Essayez cet exemple :

print("C'\nest\nmon\nexemple.")

Le résultat de cette commande est :

C'
est
mon
exemple.

Le \n est un saut de ligne. Il déplace le « curseur » où l'ordinateur affichera le texte à la ligne suivante. L'ordinateur stocke tout le texte dans une seule grande ligne. il sait qu'il doit afficher le texte sur plusieurs lignes du fait de la présence des caractères \n.

Pour rendre les choses plus complexes, les différents systèmes d'exploitation ont différentes normes sur ce qui indique une fin de ligne.
Codes d'échappementDescription
\r\nCR+LF : Microsoft Windows
\nLF : Les systèmes basés sur UNIX, et les nouveaux Macs.
\rCR : Les anciens Macs

Habituellement, votre éditeur de texte s'occupera de cela pour vous. Le Bloc-notes Microsoft ne le fait pas, et les fichiers UNIX ouverts dans le Bloc-notes sont illisibles parce que les fins de ligne ne s'affichent pas du tout, ou alors avec des cases noires. Chaque programmeur doit avoir un bon éditeur de texte installé sur son ordinateur. je recommande Sublime ou Notepad++.

1.4 Commentaires

Les commentaires sont importants  ! (Même si l'ordinateur les ignore.)

Parfois, le code a besoin d'explications supplémentaires pour la personne qui le lit. Pour ce faire, nous ajoutons des « commentaires » dans le code. Les commentaires sont destinés à l'être humain qui lira le code, et non à l'ordinateur.

Il y a deux façons de d'ajouter un commentaire. La première consiste à utiliser le symbole #. L'ordinateur ignorera tout texte dans un programme Python qui se trouve après le caractère #. Par exemple :

# Ceci est un commentaire, il commence par le caractère #
# et l'ordinateur l'ignorera.

print("Ceci n'est pas un commentaire, l'ordinateur")
print("exécutera ceci et l'affichera.")

Si un programme a le signe # entre guillemets, il n'est pas interprété comme un début de commentaire. Un programmeur peut désactiver une ligne de code en mettant un caractère # au début de celle-ci. Il est également possible de mettre un commentaire à la fin d'une ligne.

print("Un caractère # entre guillemets n'est pas un commentaire.")

# print("Ceci est un commentaire, même si c'est un code informatique")

print("Salut") # Ceci est un commentaire de fin de ligne

Il est possible de commenter plusieurs lignes de code à l'aide de trois guillemets simples consécutifs pour délimiter les commentaires.

print("Salut")
'''
Ceci est
un
commentaire
sur plusieurs
lignes. Rien
ne sera interprété entre ces guillemets.
print("là")
'''
print("Terminé")

La plupart des programmeurs Python professionnels n'utilisent ce type de commentaires multi-lignes que pour quelque chose qui s'appelle les docstrings. Les docstrings permettent à la documentation d'être écrite en même temps que le code et d'être, plus tard, automatiquement extraite dans une documentation imprimée, dans des sites Web, ou des Environnements de Développement Intégrés (IDE). Pour des commentaires généraux, la balise # fonctionne parfaitement.

Même si vous êtes le seul à lire le code que vous écrivez, des commentaires peuvent vous aider à gagner du temps. Ajouter un commentaire qui dit « Gérer les bombes extraterrestres » vous permettra de vous rappeler rapidement ce que fait cette partie du code sans avoir à la lire et à la déchiffrer.

1.5 Opérateurs d'affectation

Vidéo: Les opérateurs d'affectation

Comment pouvons-nous mémoriser le score dans notre jeu ? Ou garder une trace de la santé de l'ennemi ? Ce que nous devons utiliser, c'est l'opérateur d'affectation (Un opérateur est un symbole comme + ou -). Celui-ci stocke une valeur dans une variable pour l'utiliser plus tard. Le code ci-dessous attribuera 10 à la variable x, puis affichera la valeur mémorisée dans x.

Regardez l'exemple ci-dessous. Cliquez sur le bouton « Pas à pas » pour voir comment le code fonctionne.
# Créer une variable x
# Mémorise la valeur 10 dans celle-ci.
x = 10

# Ceci affiche la valeur mémorisée dans x.
print(x)

# Ceci affiche la lettre x, mais pas la valuer mémorisée dans x
print("x")

# Ceci affiche "x= 10"
print("x=",x)
Variables :
x=
Sortie :
10
x
x= 10

Les Variables doivent être mises hors des guillemets, pas à l'intérieur.

Remarque : le code ci-dessus montre également la différence entre l'affichage d'un x à l'intérieur des guillemets et d'un x à l'extérieur des guillemets. Si un x est à l'intérieur des guillemets, l'ordinateur affichera x. Si un x est à l'extérieur des guillemets, alors l'ordinateur affichera la valeur de x. Se tromper entre « l'intérieur et l'extérieur des guillemets » est très commun pour ceux qui apprennent à programmer.

fig.pi

Une instruction d'affectation (une ligne de code utilisant l'opérateur =) est différente de l'égalité algébrique que vous avez apprise en mathématiques. Ne les considérez pas comme identiques. Du côté gauche d'un opérateur d'affectation il doit y avoir uniquement une variable. Rien d'autre ne peut être mis là.

Du côté gauche du signe égal (de l'opérateur d'affectation), il y a une expression. Une expression est tout ce qui peut être évalué par une valeur. Examinez le code ci-dessous.

x = x + 1

Le code ci-dessus ne peut évidemment pas être une égalité algébrique. Mais elle est valable pour l'ordinateur, car il s'agit d'une instruction d'affectation. Les équations mathématiques sont différentes des instructions d'affectation, même si elles ont des variables, des nombres et un signe égal.

Le code ci-dessus prend la valeur courante de x, lui ajoute un et stocke le résultat dans x.

En complétant notre exemple, les instructions ci-dessous permettent d'afficher le nombre 6.

x = 5
x = x + 1
print(x)

Les instructions sont exécutées de façon séquentielle. L'ordinateur « n'anticipe » pas. Dans le code ci-dessous, l'ordinateur affichera 5 à la ligne 2, puis la ligne 4 affichera un 6. C'est parce qu'à la ligne 2, le code qui ajoute 1 à x n'a pas encore été exécuté.

x = 5
print(x) # Prints 5
x = x + 1
print(x) # Prints 6

L'instruction suivante est valide et sera exécutée, mais elle est inutile. L'ordinateur ajoutera un à x, mais le résultat n'est ni sauvegardé, ni affiché.

x + 1

Le code ci-dessous affichera 5 au lieu de 6, car le programmeur a oublié de sauvegarder à nouveau le résultat de x + 1 dans la variable x.

x = 5
x + 1
print(x)

L'instruction suivante n'est pas valide, car à gauche du signe égal, il peut seulement y avoir une variable :

x + 1 = x

Python possède d'autres types d'opérateurs d'affectation. Ils permettent aux programmeurs de modifier facilement une variable. Par exemple :

x += 1

L'instruction précédente est équivalente au code suivant :

x = x + 1

Il existe également des opérateurs d'affectation pour l'addition, la soustraction, la multiplication et la division.

1.6 Variables

Le nom d'une variable commence par une lettre minuscule.

Le nom d'une variable devrait commencer avec une lettre minuscule. Le nom d'une variable peut commencer avec une lettre majuscule ou un tiret bas, mais ce sont des cas spéciaux et cela ne devrait pas être utilisé en temps normal. Après la première lettre en minuscule, le nom d'une variable peut utiliser des majuscules et des minuscules, ainsi que des nombres et des tirets bas. Le nom d'une variable ne doit pas contenir d'espace.

Le nom d'une variable est sensible aux majuscules et aux minuscules. Cela peut dérouter si un programmeur ne s'y attend pas. Dans le code ci-dessous, la sortie sera 6 plutôt que 5 car il y a deux variables différentes, x et X.

x = 6
X = 5
print(x)

Le guide officiel des bonnes pratiques en Python (oui, les programmeurs ont vraiment écrit un guide de bonnes pratiques) dit que, en Python, les différents mots composant un nom de variable devraient être séparés par un tiret bas. Par exemple, utilisez style_de_coiffure et pas styleDeCoiffure. À titre personnel, si vous êtes un de mes étudiants, je n'attache pas trop d'importance à cette régle, car le prochain langage que nous aborderons, Java, a une règle exactement opposée. J'avais l'habitude d'enseigner les règles de nommage Java dans ce cours, mais j'ai commencé à recevoir des courriels haineux d'amoureux de Python. Ces personnes venaient sur mon site, et étaient choquées, je dis bien choquées, par ma malheureuse façon de faire.

Joan Rivers n'ayant rien sur eux, j'ai laissé tombé et j'essaie maintenant de suivre les bonnes pratiques officielles.

Voivi quelques exemples de variables qui sont nommées correctement ou non :
Noms de variables correctes Noms de varaibles incorrectes Correctes, mais mal formés
nom_de_famille nom de famille NomDeFamille
distance 9ds nomDeFamille
ds9 %correcte X

Toutes les varaibles dont le nom est en majuscules, comme VITESSE_MAX, sont autorisées uniquement si la valeur de la variable ne doit jamais changer. Une telle variable qui ne varie pas est appelée une constante.

1.7 Opérateurs

Pour les opérations mathématiques plus complexes, les opérateurs mathématiques habituels sont disponibles, ainsi que quelques uns moins habituels :
opérateur opération exemple d'équation exemple de code
+ addition $3 + 2$ a = 3 + 2
- soustraction $3 - 2$ a = 3 - 2
* multiplication $3 \cdot 2$ a = 3 * 2
/ division $\frac{10}{2}$ a = 10 / 2
// division entière N/A a = 10 // 3
** puissance $2^3$ a = 2 ** 3
% modulo N/A a = 8 % 3

Vidéo: Les opérateurs

La « division entière » arrondira toujours le résultat à l'entier le plus proche. Par exemple, 11//2 donnera 5 et pas 5.5, et 99//100 sera égal à 0.

La multiplication par juxtaposition ne fonctionne pas en Python. Les deux lignes de code suivantes ne fonctionneront pas :

# Ceci ne fonctionne pas
x = 5y
x = 5(3/2)

Il est nécessaire d'utiliser l'opérateur de multiplication pour que ces lignes de code fonctionnent :

# Ceci fonctionne
x = 5 * y
x = 5 * (3 / 2)

1.7.1 Espacement autour d'un opérateur

Il peut y avoir autant d'espaces que vous le voulez avant et après un opérateur, et l'ordinateur l'interprétera parfaitement. Par exemple, chacune de ces trois lignes est équivalente :

x=5*(3/2)
x = 5 * (3 / 2)
x      =5     *(    3/   2)

Le guide officiel des bonnes pratiques en Python dit qu'il devrait y avoir un espace avant et après chaque opérateur. (Vous mourez d'envie de savoir, n'est-ce pas ? D'accord, le guide officiel des bonnes pratiques en Python s'appelle : PEP-8. Allez y jeter un coup d'œil si vous voulez vous éclater.) Parmi les trois lignes de code précédentes, la plus « élégante » serait la ligne 2.

1.8 Ordre des opérations

Python évaluera l'expression en utilisant les mêmes règles de calcul que celles utilisées dans une expression mathématique classique. Par exemple, cette équation ne calculera pas correctement la moyenne :

moyenne = 90 + 86 + 71 + 100 + 98 / 5


Le premier calcul fait est 98/5. L'ordinateur calcule :

$90+86+71+100+\frac{98}{5}$
alors que l'on voudrait qu'il calcule :

$\dfrac{90+86+71+100+98}{5}$

Le problème peut être résolu en utilisant des parenthèses :
moyenne = (90 + 86 + 71 + 100 + 98) / 5

1.9 Fonctions trigonométriques

Les fonctions trigonométriques sont utilisées pour calculer le sinus et le cosinus d'un angle dans les équations. Par défaut, Python ne sait pas comment calculer le sinus et le cosinus, mais il peut le faire une fois que la bibliothèque adéquate a été importée. Les angles doivent être exprimés en radians.

# Import de la bibliothèque math
# Cette ligne ne doit être présente qu'une fois, au tout début
# du programme.
from math import *

# Calcule x en utilisant le fonctions sinus and cosinus
x = sin(0) + cos(0)

1.10 Calculateur personnalisé

On peut faire un programme en Python pour calculer la consommation d'une voiture qui a parcouru 473 kilomètres avec 39.4 litres d'essence.

c = 473 / 39.4
print(c)

Ce programme peut être amélioré en utilisant des variables. Cela permet de changer facilement les valeurs dans le code sans modifier l'équation.

k = 473
l = 39.4
c = k / l # On utilise les variables à la place des valeurs
print(c)
Un bon nom de variable est important

En l'état, ce programme est difficile à comprendre. les variables k et l ne signifient pas grand chose une fois sorties de leur contexte. Le programme peut être rendu plus facile à comprendre en utilisant des noms appropriés pour les variables :

distance_Parcourue = 473
essence_consommee = 39.4
kpl = distance_Parcourue / essence_consommee
print(kpl)

Maintenant, même un non-programmeur peut certainement regarder ce programme et avoir une bonne idée de ce qu'il fait. Un autre exemple de bon et de mauvais nommage de variable :

# Difficile à comprendre
ir = 0.12
b = 12123.34
i = ir * b

# Facile à comprendre
taux_d_interet = 0.12
solde_du_compte = 12123.34
montant_des_interets = taux_d_interet * solde_du_compte
Vidéo: Création d'un programme de calcul personnalisé

Dans l'éditeur de IDLE, il est possible d'éditer une ligne précédente sans avoir à la retaper. Pour ce faire, déplacez le curseur jusqu'à la ligne désirée et pressez la touche « entrée ». Ceci la copiera sur la ligne courante.

Saisir du code Python à l'invite de commande >>> est lent et ne peut être fait qu'une ligne à la fois. Il n'est pas non plus possible d'enregistrer le code de manière à ce qu'une autre personne puisse l'utiliser. Heureusement, il y a une bien meilleure façon d'écrire du code Python.

Le code Python peut être saisi en utilisant un script. Un script est une suite de lignes de code Python qui seront executées en une seule fois. Pour créer un script, ouvrez une nouvelle fenêtre comme indiqué sur la Figure 1.2.

fig.entering_a_script
Figure 1.2: Saisir un script

Saisissez le programme Python pour calculer la consommation d'essence, puis enregistrez le fichier. Enregistrez le fichier sur une clé USB, sur un lecteur réseau, ou à tout autre emplacement de votre choix. Le nom des programmes Python doit toujours se terminer par .py. Voir Figure 1.3.

fig.saving_mpg_calculator
Figure 1.3: Enregistrer un script

Exécutez le programme saisi en cliquant sur le menu « Run » et en sélectionnant « Run Module ». Essayez de modifier le programme avec différentes valeurs pour la distance et l'essence utilisée.

Attention, erreur fréquente !

A partir de maintenant, quasiment tout le code saisi devra l'être dans un script/module. Ne tapez pas votre programme sur l'invite de commande >>> de IDLE. Le code saisi ici n'est pas sauvegardé. Si cela arrive, il sera nécessaire de tout recommencer. C'est une erreur très fréquente chez les nouveaux programmeurs.

Ce programme serait encore plus utile s'il pouvait interagir avec l'utilisateur et lui demander la distance parcourue et l'essence utilisée. Cela peut être fait avec l'instruction input. Regardez le code suivant :

# Ce code fonctionne presque
distance_Parcourue = input("Entrez la distance parcourue :")
essence_consommee = input("Entrez le nombre de littres consommés :")
kpl = distance_Parcourue / essence_consommee
print("Kilomètres par litre :", kpl)

Lors de l'exécution, le programme demandera à l'utilisateur la distance et la quantité d'essence, mais il provoquera une erreur étrange comme indiqué dans la Figure 1.4.

fig.mpg_program_error
Figure 1.4: Erreur lors de l'exécution du programme KPL

La raison de cette erreur peut être mise en évidence en modifiant un peu le programme :

distance_Parcourue = input("Entrez la distance parcourue :")
essence_consommee = input("Entrez le nombre de littres consommés :")
x = distance_Parcourue + essence_consommee
print("Somme de distance_Parcourue+essence_consommee :", x)

L'exécution du programmme ci-dessus aura pour résultat la sortie donnée dans la Figure 1.5.

fig.mpg_incorrect_addition
Figure 1.5: Addition incorrecte

Le programme n'additionne pas les deux nombres, il ne fait que mettre l'un juste après l'autre. C'est parce que le programme ne sait pas que l'utilisateur va saisir des nombres. L'utilisateur pourrait saisir « Bob » et « Marie », et l'addition de ces deux variables serait « BobMarie »; ce qui aurait plus de sens.

Les saisies doivent être converties en nombres

Pour indiquer à l'ordinateur que ce sont des nombres, il est nécessaire d'ajouter à la fonction input un int( ) ou un float( ). Utilisez le premier pour les entiers, and le deuxième pour les nombres à virgule flottante.

Le programme final fonctionnant :

# Sample Python/Pygame Programs
# Simpson College Computer Science
# http://programarcadegames.com/
# http://simpson.edu/computer-science/

# Explanation video: http://youtu.be/JK5ht5_m6Mk

# Calculate Miles Per Gallon
print("This program calculates mpg.")

# Get miles driven from the user
miles_driven = input("Enter miles driven:")
# Convert text entered to a
# floating point number
miles_driven = float(miles_driven)

#Get gallons used from the user
gallons_used = input("Enter gallons used:")
# Convert text entered to a
# floating point number
gallons_used = float(gallons_used)

# Calculate and print the answer
mpg = miles_driven / gallons_used
print("Miles per gallon:", mpg)

Variables :
milesDriven=
gallonsUsed=
mpg=
Sortie :
This program calculates mpg.
Enter miles driven: 288
Enter gallons used: 15
Miles per gallon: 19.2

Un autre exemple, calculant l'énergie cinétique d'un objet :

# Sample Python/Pygame Programs
# Simpson College Computer Science
# http://programarcadegames.com/
# http://simpson.edu/computer-science/

# Calculate Kinetic Energy

print("This program calculates the kinetic energy of a moving object.")
m_string = input("Enter the object's mass in kilograms: ")
m = float(m_string)
v_string = input("Enter the object's speed in meters per second: ")
v = float(v_string)

e = 0.5 * m * v * v
print("The object has " + str(e) + " joules of energy.")

Pour raccourcir un programme, il est possible d'imbriquer l'instruction input à l'intérieur de l'instruction float. Par exemple, ces lignes de code :

milesDriven = input("Enter miles driven:")
milesDriven = float(milesDriven)

donnent le même résultat que cette ligne :

milesDriven = float(input("Enter miles driven:"))

Dans ce cas, la sortie de la fonction input est directement passée à la fonctio float. Les deux formes fonctionnent, et le choix de l'une ou l'autre est juste une question de préférence du programmeur. Cependant, il est important d'être capable de comprendre les deux formes.

1.11 Évaluation

1.11.1 Questionnaire à Choix Multiples

Click here for a multiple-choice quiz.

1.11.2 Fiche d'Exercices à Réponse Courte

Click here for the chapter worksheet.

1.11.3 Travaux Pratiques

Click here for the chapter lab.


You are not logged in. Log in here and track your progress.