27
Échantillon

É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

Échantillon

Page 2: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 3: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

Les bases de la programmationLa syntaxe Python – partie 1

Montage, programmation, robotique.École Robots – Cursus Éducation Nationale

Page 4: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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

Page 5: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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

Page 6: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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

Page 7: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 8: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 9: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 10: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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

Page 11: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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é.

Page 12: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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

Page 13: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 14: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 15: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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:

Page 16: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 17: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 18: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 19: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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).

Page 20: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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().

Page 21: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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".

Page 22: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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:

Page 23: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 24: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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.

Page 25: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

Notes

Page 26: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans
Page 27: É chantillon - Speechi · 2020-01-06 · 3. Les langages de programmation utilisés dans la société D'innombrables programmes en cours d'exécution dans le monde sont écrits dans

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)