É chantillon - speechi · 2020-01-06 · 3. les langages de programmation utilisés dans la...
TRANSCRIPT
Échantillon
Ce livre est une œuvre protégée par le droit d’auteur. École Robots, Speechi et Artec sont des marques déposées.© 2019 Speechi - 12 rue de Weppes - 59000 Lille. Tel : +33 (0)320 347 425. Email : [email protected]. Web : www.speechi.net.
Tous droits réservés. Toute reproduction interdite.
Les programmes nécessaires à la réalisation des robots sont disponibles en téléchargement sur le site www.ecolerobots.com.
Toutes les boîtes et les pièces détachées sont aussi disponibles sur le site www.ecolerobots.com.
Les bases de la programmationLa syntaxe Python – partie 1
Montage, programmation, robotique.École Robots – Cursus Éducation Nationale
1
Chapitre1:Avantd'apprendrelelangagePython..............................................................21. Quelsliensentrelaprogrammationetlasociété?.....................................................................2
2. Lesmétiersnécessitantdescompétencesenprogrammation...................................................3
3. Leslangagesdeprogrammationutilisésdanslasociété.............................................................3
4. PourquoiapprendrelelangagePython?....................................................................................4
Chapitre2:LesdonnéesenPython..........................................................................................61.Cequevousallezapprendredanscetteleçon................................................................................6
2.Présentationdumatériel.................................................................................................................6
3.OuvrirunenvironnementdeprogrammationpourécrireenPython............................................7
3.1.L’interfacedel’environnementdeprogrammation«Mu».....................................................7
3.2.Installerl’environnementdeprogrammation«Mu»..............................................................7
4.Préparatifsavantchaquedébutdescours......................................................................................8
4.1.Connecterl’ESPeRobo..............................................................................................................8
4.2.Ouvrirl’environnementdeprogrammationMu......................................................................8
5.LesdonnéesnumériquesenPython...............................................................................................9
5.1.Traitementdesdonnéesnumériques......................................................................................9
5.2.Convertirdesdonnéesdetypenumérique............................................................................13
6.LeschaînesdecaractèresenPython.............................................................................................15
6.1.Créerdeschaînesdecaractères.............................................................................................15
6.2.Convertirunevaleurnumériqueenchaînedecaractèresetinversement............................17
7.Exercice:AffichersonnomsurlepanneauLEDdel’ESPeRobo...................................................19
7.1.Créerunprogramme..............................................................................................................19
7.2.Exécuterleprogramme..........................................................................................................20
7.3.Sauvegarderleprogramme....................................................................................................21
Résuméduchapitre..........................................................................................................................21
2
Chapitre1:Avantd'apprendrelelangagePython1. Quelsliensentrelaprogrammationetlasociété?Vouslesutiliseztouslesjourssurvotresmartphoneouvotretablette,maissavez-vousau
justecommentfonctionnentlesapplicationsdemessagerie,lesréseauxsociauxouencore
lesplateformesvidéo?
Vousutilisezetaccédezàcesservices,viaunnavigateurWebouuneapplicationdédiée,grâceàdesserveursquisontdesordinateurssurlesquelss’exécutentdesprogrammescomplexes.
Comme ces services font désormais partie de notre quotidien, il est légitime de se
demandercommentcesnouveauxservicesbaséssurdestechnologiesdepointe,comme
l’IA(IntelligenceArtificielle)oula«blockchain»,impactentetfontévoluernotresociété.
Certainschercheurssesontdéjàpenchéssurlaquestionetprédisentque,dansunavenir
proche, les ordinateurs et les robots occuperont très probablement des postes
aujourd’huioccupéspardeshumainsenraisondudéveloppementdel’IA.Outrelefait
quedenouveauxemploisliésàl’utilisationdecestechnologiesdevraientémerger,ilest
probablequelesemploiscréatifsqueseulsdeshumainspeuventoccuperetlesemplois
demandant des compétences en communication élevées deviennent de plus en plus
importants.
Toutescestechnologiesquiannoncentcettenouvelleèreimpliquentlaprogrammation.Or,danslemêmetemps,onannonceégalementunepénuriedepersonnescapablesde
3
comprendre l’informatique et plus particulièrement la programmation pourtant
nécessaireaufonctionnementdecesnouvellestechnologies.
Avant d’aborder la programmation, examinons de plus près les métiers et tâches
nécessitantdescompétencesenprogrammationetlesavantagesqu’ilyaàapprendrela
programmation.
2. LesmétiersnécessitantdescompétencesenprogrammationDenombreuxemploisexigentdescompétencesenprogrammation.Regardonsquelques
exemplesdansletableauci-dessous.
Tâchesnécessitantdescompétencesenprogrammation
Àquoisertlaprogrammation?
Développementd'applicationspour
smartphone
Transformerlesidéesdeservicesetdejeux
enapplications.
ContrôlederobotsetdedispositifsIoT
(*)
Utiliserdescapteurspourobtenirdes
informationssurdessitesàdistanceou
piloteràdistancedesmoteurspour
contrôlerunemachine.
Automatisationdetâchessimplesde
traitementdedonnées
Agrégerautomatiquementlesdonnéesd’une
enquêteetdistribuerautomatiquementdes
e-mailsàdesheuresprécises.
Productiond'artnumérique
Contrôlerlalumièreetlesonpourcréerdes
œuvresnumériques.
*IoT : acronyme pour Internet of Things, c’est-à-dire Internet des objets. Désigne les
objets connectés à Internet qui s’échangent des informations pour se contrôler
mutuellement.
3. LeslangagesdeprogrammationutilisésdanslasociétéD'innombrablesprogrammesencoursd'exécutiondanslemondesontécritsdansdivers
langages de programmation. Examinons certaines des fonctionnalités des langages de
programmation les plus fréquemment utilisés et ce qu’on peut faire avec.
• Python
LangagedeprogrammationnéauxPays-Basen1991.Celangageesttrèsappréciédes
débutantsparcequ’ilpermetd’écrireducodesource(*)concisetfacileàlire.Celangage
estbienadaptéauxopérationsnumériquesetestdevenupopulairegrâceau
développementdeprogrammesd’intelligenceartificielletelsquel’analysededonnées,
l’apprentissageautomatique(machinelearning)etl’apprentissageprofond(deep
learning)quisontdeplusenplusdemandésdepuiscesdernièresannées.
*Lecodesource:chaînedecaractères,texteoufichiertexted'unprogrammeécritdansun
4
langagedeprogrammation.
• Java
LangagedeprogrammationdéveloppéauxÉtats-Unisaudébutdesannées90.Beaucoup
desystèmesontétédéveloppésenJava,restélongtempspopulairedanslemondeentier.
Ilpermetdedévelopperunetrèsgrandevariétédesystèmes,quecesoientdessystèmes
Web,desapplicationsAndroid,dessystèmesprofessionnelsutilisésdanslesentreprises
ouencoredessystèmesdecontrôledemachines.Lesprogrammesécritsdanscelangage
fonctionnentsousWindowsetMac.
• LangageC
LangagedeprogrammationnéauxÉtats-Unisen1972.Celangagepermetaussibiende
développerdeslogiciels«basniveau»(logicielstrèsréactifsembarquésdansdesavions,
desvoitures,etc.)quedes logiciels«hautniveau» (applicationsdebureautique, jeux,
etc.). Bien que le tempsde développement soit long et sa grammaire compliquée, il a
souventétéprésentécommelepremierlangagedeprogrammationàapprendredepuis
le milieu des années 1990. L’environnement utilisé dans ce cours pour écrire des
programmesenPythonestécritenlangageC.
• JavaScript
Langage développé aux États-Unis et apparu au milieu des années 90. Ce langage
fonctionnedansunnavigateur.LorsquevousaffichezunepageWebcontenantducode
JavaScript,lecodechangedynamiquementlapage.Ilpermet,parexemple,dechangerle
texte et les images en réponse aux clics de l'utilisateur, d’ajouter une animation qui
produitdesmouvementscomplexes,etc.
• Ruby
LangagedeprogrammationnéauJaponen1992.Polyvalentetflexible,ilestutilisédans
denombreuxsystèmesWeb,quellequesoitleurtaille.Comparéàd'autreslangages,ilest
intéressantpourimplémenterdenombreusesfonctionsentrèspeudecode.
• Swift
Nouveau langage de programmation développé en 2014 pour les produits Apple. Il
reprend les avantages des différents langages de programmation et se maîtrise
relativementfacilement.
4. PourquoiapprendrelelangagePython?Le langage de programmation visuel appelé Scratch est souvent utilisé pour faire ses
premierspasenprogrammation.Scratchpermetdecréerunprogrammesimplementen
glissantdesblocssurunécran.Bienqu’ilsoitfaciled’utilisation,mêmepourlesdébutants,
ilneconvientpasaudéveloppementdejeuxetdesystèmescomplexes.Enrevanche,si
vousmaîtrisezdeslangagesdeprogrammationécritscommePython,vouspourrezcréer
etréalisercequevoussouhaitez,mêmesilasyntaxeestunpeucompliquée.
5
Aujourd’hui, Python est l'un des langages de programmation les plus utilisés dans le
développementpourcréerdesapplications,contrôlerdesrobotsetcoderl'intelligence
artificielle.C’estpourquoiPythoncompteungrandnombred'utilisateursquiformentune
communautéactive.Celangageprésenteàlafoisl'avantaged'obtenirfacilementuncode
source ouvert et de haute qualité, mais aussi celui de raccourcir le temps de
développement.
Comme la société évolue avec le développement des technologies de l'information et
l’émergence de nouveaux modèles d’intelligence artificielle, de robots ou encore de
monnaie virtuelle, il devient de plus en plus urgent et nécessaire d’élargir sa culture
informatique et d’acquérir des compétences en programmation. La programmation
deviendra,eneffet,l’undespiliersdenotresociétéfutureetseraunsujetabondamment
traitédans les journauxtélévisés, lesmédiaswebetmagazines.Pouroffrirdesclésde
compréhension face à ces nouveaux enjeuxde société, cemanuel et les suivants vous
proposentdemaîtriserlesbasesdulangagePython.
6
Chapitre2:LesdonnéesenPython1.CequevousallezapprendredanscetteleçonAprèsuneprésentationdumatérieletdulogicielquevousutiliserezaufildecesmanuels
pourapprendrelelangagePython,nousnousintéresseronsauxdonnéesnumériquesles
plus utilisées et aux chaînes de caractères. À la fin de ce chapitre, vous écrirez un
programmeenPythonpouraffichervotrenomsurlepanneauLEDdelacarte.
2.PrésentationdumatérielDanscechapitre,vousacquerreznonseulementlesbasesdulangagePython,maisaussi
lescommandesdebasepourcontrôlerlepanneauLEDetlebuzzerdelacarteESPeRobo.
LacarteESPeRobo
LescomposantsdelacarteESPeRobo
VoyonsoùlescomposantssetrouventsurlacarteESPeRobo:
EnplusdecontrôlerlepanneauLEDetlebuzzerdelacarte,
vousserezamené,aufildevotreapprentissage,àécriredes
programmespourrecueilliretmesurerdesinformations
tiréesdel'environnementdelacartegrâceàsesboutons
intégrés,soncapteurdelumière,soncapteurdetempérature,
sonaccéléromètre,songyroscopeetsaboussole.
LacarteESPeRobocomportediversesfonctionnalités
quiferontl’objetd’exercicesdeprogrammation.Vous
programmerez,parexemple,lesLEDàs’allumeren
changeantleurcouleurselonuneséquencequevous
aurezétablie.
7
3.OuvrirunenvironnementdeprogrammationpourécrireenPythonPour écrire des programmes en Python, il faut un environnement de programmation.
Danscecours,vousutiliserez l’environnementdeprogrammation«Mu»distribuéen
opensource(*).
(*)Open source : logiciel dont le code source estpublié gratuitement et peut, selon sa
licence,êtrelibrementmodifiéouredistribuéparn'importequi.
3.1.L’interfacedel’environnementdeprogrammation«Mu»
L’interface de l’environnement de programmation «Mu » est assez simple et facile à
prendreenmainparlesdébutantsparcequ’ilneproposeaucunefonctionnalitéavancée.
3.2.Installerl’environnementdeprogrammation«Mu»
Mu est disponible en versionWindows et Mac. Si Mu n'est pas installé sur votre PC,
téléchargez le programme d'installation correspondant au système d'exploitation de
votrePCàpartirdulienci-dessousetinstallez-le.
PourapprendrelesbasesdelaprogrammationenPython,vousintégrerez,dansun1er
temps,quelquesexemplesdeprogrammedansl’environnementdeprogrammationetles
exécuterezpourobserverlesrésultats.
TéléchargerMupourWindows
https://www.artec-kk.co.jp/artecrobo2/data/mu-editor_64bit.exe
TéléchargerMupourMac
https://www.artec-kk.co.jp/artecrobo2/data/mu-editor.zip
8
4.PréparatifsavantchaquedébutdescoursDésormais,avantchaquedébutdecours,vousdevrezfairelespréparatifsdécritsci-
dessous.
4.1.Connecterl’ESPeRobo
Leprogrammequevousaurezcréédansl’environnementdeprogrammationdevraêtre
transférédevotrePCversl’ESPeRobo.Pourcela,connectezvotreordinateurà
l’ESPeRoboenutilisantlecâbleUSBfourni.
ConnectezlagrandeficheducâbleUSBà
votreordinateur.
ConnectezlapetiteficheducâbleUSBà
l’ESPeRobo.
4.2.Ouvrirl’environnementdeprogrammationMu
1)Double-cliquezsurl'icônesuivantepourlancer«Mu».
2) Lors du 1er démarrage, une fenêtre vous proposera de sélectionner le mode de
démarrage.SélectionnezStuduino:bitdanslalisteetcliquezsurlebouton«OK».Lorsdu
2nddémarrage, l’environnementdeprogrammations’ouvriraautomatiquementdans le
modeprécédemmentsélectionné.
9
3)Cliquezsurlebouton"REPL*"enhautaucentredel'écranaffiché.
* REPL est une abréviation pour « Read-Eval-Print Loop ». Il permet d’envoyer des
commandesaurobotpendantl’exécutionduprogrammeetd’afficherlesrésultatsdansla
console.
4)QuandREPLestactivé,uneconsoleinteractives’ouvreenbasdel’écran,qu’onappelle
aussi terminal. À ce stade, le PC et l’ESPeRobo sont toujours en communication. Ne
débranchezdoncpaslecâbleUSB.PourquitterleREPL,cliquezànouveausurlebouton
«REPL».
5.LesdonnéesnumériquesenPythonEnprogrammation,diverstypesdedonnéespeuventêtretraités:nombres,lettres,
images,musiqueouencorevidéos.
5.1.Traitementdesdonnéesnumériques
La calculatrice est le premier outil auquel on pense pour réaliser des calculs sur un
ordinateur.VouspouvezcependantégalementfairediverscalculsenPython,toutcomme
surunecalculatrice.
■Lestypesdedonnéesnumériques
Lorsquevousutilisezunecalculatrice,vousnefaîtespasdedifférenceentrelesentierset
lesdécimales.Leprogramme, lui,enrevanche, les traitecommedes typesdedonnées
différents.
• Lenombreentier0,lesnombresnaturels(1,2,…)etlesentiersnégatifs(-1,-2,…)
sonttraitéscommedesdonnéesentières.
• Lesnombresàvirgule,lesvaleursnumériquesavecdesinformationsaprèslepoint
décimal,sonttraités,quantàeux,commedesdonnéesàvirgule.
■Lesopérateursnumériques
EnPython,différentesopérationsarithmétiquespeuventêtreeffectuées,notammentles
quatreopérationsarithmétiques:addition,soustraction,multiplicationetdivision.
Dansleslangagesdeprogrammation,lessignesutiliséspourlescalculs(ex:+,- ,etc.)
sontappelés«opérateurs».Lesopérateursd'additionetdesoustraction«+»et«-»sont
lesmêmes.Enrevanche,lesopérateurspourlesmultiplicationsetdivisionsnesontpas
10
lessignes«×»et«÷»,maisl’astérisque«*»pourlamultiplicationetlabarreoblique
«/»pourladivision.
Typedecalcul OpérateurAddition +
Soustraction -
Multiplication *
Division /
Maintenant,écrivonsetexécutonsunprogrammequieffectuedescalculs.
■Additionentière
Commençonsparfaireunesimpleaddition«1+2».Unprogrammenenécessitantqu'une
seule ligne de code comme ce calcul peut être écrit dans la fenêtre REPL et exécuté
immédiatement.Cettefenêtreestgénéralementappelée«console»ou«terminal».
Cliquezàcôtédessignes«>>>»dansladernièreligneduterminaletécrivezlecalcul
suivant:
Appuyezsurlatouche«Entrée»pourexécuterceprogramme.Vérifiezque3estbienle
résultatquis’affiche.
*Sivousneparvenezpasàfaire«Entrée»dansleterminal,c’estquelacommunication
entre le PC et l’ESPeRobo a échoué. Assurez-vous que le câble USB est correctement
branché,appuyezune1èrefoissurleboutonREPLpourfermerleterminal,puisune2nde
foispourlerouvrir.
■Additiondenombresàvirgule
Écrivonsmaintenantl’opération«1.2+1.8».Unefoislaformuleécrite,appuyezsurla
touche«Entrée»pourexécuterlecode.Attention,lavirgules’écritavec«.»etnon«,»!
*Commecequiestaffichésurleterminalnepeutpasêtresupprimé,entrezlaformuleà
lasuitedela1èrecommeci-dessous.
11
Commelesdonnéessonttraitéescommedesnombresàvirgule,lerésultats’affichecette
fois-ciavecunpointdécimal«3.0».
■Soustractiond’entiersetdenombresàvirgule
Calculonsmaintenantlasoustractiondécimale«4.9-0.9».
Silenombreàsoustraireestunnombreàvirgule,lerésultatdel'opérationestégalement
traitécommeunnombreàvirgule.
■Multiplicationd'entiers
Multiplionsmaintenantlesentiers4et9.Pourlamultiplication,utilisezl’astérisque«*»
aulieude«x».
Dans unemultiplication, le résultat d'une opération est traité comme un entier si les
nombressontdesentiersetcommeunnombreàvirgulesicesontdesnombresàvirgule.
12
■Divisiond’entiers
Calculonsladivisiond’entiers«54÷6».Pourladivision,utilisezlabarreoblique«/»au
lieudusigne«÷».
Notezquelaréponseest«9.0»aulieude«9».Dansladivision,mêmesilequotientest
entier,lerésultatesttoujourstraitécommeunnombreàvirgule.
■Lesautresopérateurs
Outre ces quatre opérateurs, Python dispose d’autres opérateurs servant à d’autres
calculs numériques. Un calcul numérique désigne les calculs réalisés sur un système
informatique.
Typedecalcul OpérateurCalculpourtrouverlequotiententier
d’unedivision(sanslereste)
//
Calculdurested’unedivision %
Calculdelapuissance(ex:10²=100) **Exemplesdecalculs:
13
■Prioritédesopérateurs
Lesopérateursontuneprioritédecalcul.Lorsqueplusieursopérateurssontinclusdans
uneexpression,l'opérationcommenceparl'opérateurayantlaprioritélaplusélevée.
PrioritédesopérateursPython(duplusprioritaireaumoinsprioritaire):
Opérateur Typedecalcul** Puissance
*,/,//,% Multiplication,division,division(quotient
entier),reste
+,- Addition,soustraction
Commeavecl'arithmétiquenormale,siuneopérationcomporteuneaddition«+»etune
multiplication«*»,lamultiplication«*»alapriorité,saufsil’opérationcomporteune
expression incluse « ( ) ». Dans ce cas, c’est cette dernière qui a la priorité sur la
multiplication.
Exempledecalculs:
5.2.Convertirdesdonnéesdetypenumérique
Nousavonspuvoirparlecalculdediversesopérationsquelesnombresentiersetceuxà
virgulesonttraitéscommedesdonnéesdifférentes.Dansdeslangagesdeprogrammation
commePython,touteslesdonnéessonttraitéesselonletypeauquelellesappartiennent.
■Obtenirletypededonnéesnumériques
Utilisezlacommandetype()pourconnaîtreletypeauquelappartiennentcesdonnées.
Lancezleprogrammesuivantpoursavoiràqueltypeappartiennentcesdonnées,
nombreentierounombreàvirgule:
'int'et'float'précédésde«class»désignentuntypededonnées.'int'désigneunentieret
'float'désigneunnombreàvirgule.
14
*Enanglais,lesentierssontappelés«integernumber»etlesnombresàvirgule«floating-
pointnumber»,d’oùlesmots'int'et'float'.
■Conversiondedonnéesdetypenumérique
Comment convertir un nombre à virgule (« 9.0 ») en nombre entier (« 9 ») et
inversement ? Python propose les instructions suivantes pour convertir un type de
donnéesnumériquesenunautre:
Pourconvertirdesdonnéesentypeentier(int),utilisezlacommandesuivante:
Pourconvertirdesdonnéesen typedenombreàvirgule (float),utilisez la commande
suivante:
Tapez les commandes suivantes pour savoir si les types de données sont convertis.
*Notezquelesinstructionsint()etfloat()sontinséréesdansl'instructiontype()quisert
àvérifierletypeauquelappartiennentcesdonnées.
Pourmieuxcomprendrecesrésultats,notammentledernier,regardonscommentagitla
fonctionint():
Onpeutvoirqueint()transformeunnombreàvirguleennombreentierenneconservant
quelapartieavantlavirgule,opérationquel’onappelle«tronquer».Quellequesoitla
partieXaprèslavirgule,int(1.X)renverra1.
15
6.LeschaînesdecaractèresenPythonDans cette partie, nous allons découvrir le type permettant demanipuler du texte en
Python(leschaînesdecaractères)etcommentleconvertirversdestypesnumériqueset
inversement.
6.1.Créerdeschaînesdecaractères
Dansleslangagesdeprogrammation,unechaînedecaractèresestuntypededonnéequi
permet de traiter du texte dans les programmes. Dans cette partie, nous allons voir
commentmanipulercetypeenPython.
■Créerdeschaînesdecaractères
Comme indiquédans le code suivant, une erreur seproduira si la chaîne est écrite et
exécutéetellequelle:
L’erreur «NameError: name 'hello' isn’t defined » indique que les données nommées
‘hello’nesontpasdéfinies.Laraisondecetteerreurseraexpliquéeauchapitre3dans
lequelserontabordéeslesvariables.LorsquevousmanipulezdeschaînesenPython,il
suffitd’utiliserdesguillemetssimples''oudesguillemetsdoubles''''pourquel’erreur
neseproduiseplus.
EnPython,aucunedifférencen’estfaiteentreunechaîneencadréedeguillemetssimples
oudoubles.
■Afficherunechaînedecaractèresdansleterminal
En Python, la commande print() permet d’afficher une chaîne de caractères dans un
terminal.
Exécutezlecodesuivantpourvoircommentcelafonctionne:
Notez qu’il n’y a pas de guillemets dans le résultat, contrairement au précédent
programme,parcequeprint()affichelecontenuquisetrouveentresesguillemets.
16
■Gérerlaprésencedecaractèresspéciauxdansdeschaînesdecaractères
Il convient de prendre des précautions lorsque le texte à l’intérieur d’une chaîne de
caractèrescontientdesguillemets.Parexemple,sivoustentezdecréerlachaîne'hello
'python'',uneerreurseproduira:
Cette erreur est due au fait que le guillemet ['] situé devant « python » est considéré
commeunguillemetsimplequifermeleguillemet[']placédevant«hello».Pouréviter
uneerreur,ceguillemetsimpledoitêtretraitédemanièreparticulièregrâceàl'unedes
solutionssuivantes.
• Solutionn°1
Sivoussouhaitezcréerunechaînedecaractèrescontenantdesguillemetssimples,placez
l’ensembledelachaîneentreguillemetsdoubles.Inversement,sivoussouhaitezafficher
desguillemetsdoublesdansunechaîne,placezl’ensembledelachaîneentreguillemets
simples.
• Solutionn°2
Enmettantunantislash«\»devantunguillemet, leguillemet sera traité commedes
guillemetsdecitation.Danscescas-là,l’antislashestappeléuncaractèred’échappement.
Ilsertàindiquerqueleguillemetquisuitnedoitpasêtreinterprétécommeundélimiteur
dechaîne(pourmarquerledébutoulafind’unechaîne).
L’antislash « \ » peut également êtreutilisépour afficherun saut de ligne entredeux
partiesd’unechaînedecaractèresenlefaisantsuivredelalettre«n»,commesuit:«\n».
Le caractère «n » est alors interprété commeun sautde ligne. Il s’agit là aussi d’une
séquence d'échappement. Cette fois-ci, le caractère d’échappement « \ » associe un
comportementspécialaucaractère«n»(icilesautdeligne).
17
■Concaténerdeschaînes
Vouspouvezconcaténer,c’est-à-direassembler,deuxchaînesavecl'opérateur«+»utilisé
précédemment pour additionner des nombres. Dans l'exemple ci-dessous, la chaîne
«abcdef»estcrééeenconcaténantleschaînes«abc»et«def».
■Répéterunechaîne
Quandl’opérateur«*»estutiliséavecunnombreNetunechaîneS,ilcréeunenouvelle
chaîne de caractères dont le contenu est celui de S répété N fois. Dans l'exemple ci-
dessous,lachaîne«abc»estmultipliéepar«3»:
6.2.Convertirunevaleurnumériqueenchaînedecaractèresetinversement
Lavaleurnumérique«123»etlachaînedecaractères«‘123’»sonttraitéescommedes
donnéescomplètementdifférentes.Lesvaleursnumériquespeuventêtreutiliséespour
lecalculentantquedonnéesnumériques,maisilpeutarriverdevouloirlestraiteren
chaînesdecaractères.Danscecas,ilfautconvertircesdonnéesnumériquesenchaînes
decaractère.
■Convertirdesnombresenchaînes
Utilisezlacommandelen()pourobtenirlenombredecaractèresd’unechaîne.
*«len»estuneabréviationde«length»enanglaisquisignifie«longueur».
Essayez,parexemple,d’obtenirlenombredecaractèrescontenusdanslachaîne
«python»enutilisantlacommandelen().
18
Aveccettemêmecommande,vouspouvezobtenirlenombredechiffresquicomposent
des données numériques. La commande len() ne prend, cependant, pas en charge les
donnéesnumériques.Uneerreurseproduirasielleestspécifiéetellequelle:
Ilfautdonccommencerparconvertirlesdonnéesnumériquesendonnéesdechaînede
caractères. Pour réaliser cette conversion, utilisez la commande str().
*«str»estuneabréviationpour«string»quisignifie«chaîne»enanglais.
Exécutezlecodesuivant:
■Convertirunechaînedecaractèresennombre
Pourrepasserd'unechaînedecaractèresàunnombre,utilisezlescommandesint()ou
float()quevousconnaissezdéjà.
Dansl’exempleci-dessous,leschaînes"123"et"456"sontconvertiesennombresavecla
commandeint()etadditionnéespourobtenirlerésultat"579".
19
7.Exercice:AffichersonnomsurlepanneauLEDdel’ESPeRoboDanscetexercice,nousallonsutiliserlesdonnéesdechaînepourfairedéfilervotrenom
surlepanneauLED.
7.1.Créerunprogramme
Jusqu'àprésent,vousn'avezécritetexécutéqu'uneseulelignedecodeàlafoisdansle
terminal.Or,danscetexercice,vousdevrezécrireplusieurslignesdecodepourcontrôler
lacarteESPeRobo.Àpartirdemaintenant,nousutiliseronsdonclazoned'édition.Cliquez
danslazoned’éditionmiseenévidencedansl’imageci-dessouspourécrirevoslignesde
code.
Recopiezlesdeuxlignesdecodeci-dessousdanslazoned'édition.Cesdeuxlignesdecode
permettent de faire défiler du texte sur le panneau LED de la carte ESPeRobo.
*Uneexplicationdétailléedececodesera faitepetitàpetitdans les leçonssuivantes.
Dansla1èrelignedecode,uneinstructionimportel’objet«display»quisertàcontrôler
lepanneauLED:
20
La2elignedecodeexécutelacommandescroll()quisertàafficheretfairedéfilerlachaîne
decaractèresspécifiéeentreparenthèses:
Remplacezletexteinscritentreguillemets'Ecrivezvotrenomici'parvotrenom.
Si vous souhaitez afficher des nombres avec la commande scroll(), spécifiez-les sous
formedechaînesplutôtquedechiffres.Pourcela,utilisezl'unedesméthodessuivantes:
• Placezleschiffresentreguillemetspourenfaireunechaîne:
• Convertissezleschiffresenchaîneaveclacommandestr():
7.2.Exécuterleprogramme
Pourexécuterleprogramme,cliquezsurlebouton«Lancer»enhautdel'écran.
Lorsque l’exécution est lancée, une fenêtre de terminal s’ouvre et affiche le message
suivant.VotrenomdéfileraensuitesurlepanneauLED.
21
7.3.Sauvegarderleprogramme
Poursauvegarderleprogramme,cliquezsurlebouton«Enregistrer»enhautdel'écran.
Vouspouvezspécifierledossierdedestinationetlenomdufichier.
LesfichiersdeprogrammePythonontuneextension«.py».L’ordinateursesertdecette
extensionpouridentifier letypedefichier.Lesfichiersportant l'extension« .py»sont
doncreconnuscommedesfichiersdeprogrammePython.
Le fichier de programme enregistré peut être ouvert et modifié à l’aide du bouton
«Charger»situéenhautdel’écran.
RésuméduchapitreDanscechapitre,vousavezapprisà:
• repérerlesélémentscomposantlacarteESPeRobo.
• utiliserlelogicielMupourcréeretexécuterdesprogrammesenPython.
• manipulerdesdonnéesnumériques.
• traiterdeschaînesdecaractères.
Pythonpeutgérerd'autrestypesdedonnées,tellesqueles«listes»,les«tuples»etles«
dictionnaires».Nousexpliqueronsendétailcommenttraitercesdonnéesauchapitre6.
Notes
Apprendre à programmer des robots pour comprendre le monded’aujourd’hui et de demain.
Les machines programmées, de plus en plus intelligentes, font partie intégrante de notre viede tous les jours. Elles nous accompagnent, nous entourent et ont envahi tous les domaines denotre vie quotidienne. Maîtriser le monde, ce n'est pas les utiliser, mais avant toutcomprendre comment elles fonctionnent.
Comment fonctionnent-elles?Selon quelle logique ? Selon quels algorithmes?Comment sont conçus les programmes qui leur dictent leurs actions et réactions ?
C'est ce que vous apprendrez tout au long de ces livrets d'apprentissage. Et pas seulement "enthéorie" : vous allez vous-même concevoir et programmer vos propres robots : des actionssimples aux plus complexes, vous apprendrez à programmer des robots amusants et originauxque vous aurez conçus vous-même. Une seule limite : votre créativité !
L'École Robots permet à tous de s'initier à la programmation en s'amusant, un enjeu majeur, aujourd'hui et demain.
Pour en savoir plus : www.ecolerobots.com
C U R S U S E D U C A T I O N N A T I O N A L E
Réf : LIV-EN-LY-PY-1 (v.1)