Valid XHTML     Valid CSS2    

Langages de scripts, automatisation de commandes et

production de documents structurés :

5. La «nouvelle garde» : Python et Ruby

                     gilles.hunault "at" univ-angers.fr

 

Table des matières cliquable

  1. Python : commandes en session interactive

  2. Python : archivage incrémental de fichiers XML

  3. Python : créer les fichiers dictionnaires d'un texte

  4. Python : à réindenter

  5. Python/Tk : conversion pouce/cm

  6. Ruby : commandes en session interactive

  7. Ruby : archivage incrémental de fichiers XML

  8. Ruby : créer les fichiers dictionnaires d'un texte

  9. Ruby/Tk : conversion pouce/cm

 

Il est possible d'afficher toutes les solutions via ?solutions=1.

 

1. Python : commandes en session interactive

Essayer en mode interactif avec python 3 de donner la ou les instructions qui répondent aux mêmes questions que pour Perl en mode interactif, exercice 4 de la série 3.

Solution :  

 

2. Python : archivage incrémental de fichiers XML

Implémenter une version Python de la sauvegarde incrémentale de fichiers XML comme pour l'exercice 7 de la série 2.

Solution :  

 

3. Python : créer les fichiers dictionnaires d'un texte

Essayer de réaliser l'exercice 3 de la série 2 (création des dictionnaires) en Python.

Solution :  

 

4. Python : à réindenter

Python est un des rares langages à imposer une indentation pour les blocs. Ainsi le programme malindent.py ci-dessous n'est pas exécutable. Réindenter pour qu'il s'exécute correctement. On devra obtenir comme résultat d'exécution du fichier correct le fichier bienindent_res.txt.


     # mini mvc en python3
     
     class Model:
     def get_post(self):
     return {"title":"A test","body":"An example.."}
     
     class View:
     def display(self,items):
     print('Title:' + items['title'] + '\n'+'Body:' + items['body'])
     
     class Controller:
     def __init__(self):
     self.model=Model()
     self.view=View()
     
     def main(self):
     post=self.model.get_post()
     self.view.display(post)
     
     mvc=Controller()
     mvc.main()
     

Solution :  

 

5. Python/Tk : conversion pouce/cm

Implémenter une version Python puis une version Python/Tk de la conversion pouce/cm définie dans l'exercice 9 de la série 3.

Solution :  

 

6. Ruby : commandes en session interactive

Essayer en mode interactif avec irb de donner la ou les instructions qui répondent aux mêmes questions que pour Perl en mode interactif, exercice 4 de la série 3.

Solution :  

 

7. Ruby : archivage incrémental de fichiers XML

Implémenter une version Ruby de la sauvegarde incrémentale de fichiers XML comme pour l'exercice 7 de la série 2.

On profitera pour vérifier que l'exécution du script archcdtout.sh pour bash fournit bien le résultat escompté indiqué dans la solution.

Solution :  

 

8. Ruby : créer les fichiers dictionnaires d'un texte

Essayer de réaliser l'exercice 3 de la série 2 (création des dictionnaires) en Ruby.

Solution :  

 

9. Ruby/Tk : conversion pouce/cm

Implémenter une version Ruby puis une version Ruby/Tk de la conversion pouce/cm définie dans l'exercice 9 de la série 3.

Solution :  

 

 

Code-source php de cette page ; code javascript utilisé. Retour à la page principale du cours.

 

 

retour gH    Retour à la page principale de   (gH)