↓ Aller au contenu

Python

13 articles dans cette catégorie

Les Finesses de Python

Les Finesses de Python

·63 mots·1 min
Le « notebook Jupyter » de la présentation d’hier soir se trouve ici. Les sujets abordés étaient Objets et Types (Classes)¶ Générateurs, iterateurs et programmation fonctionnelle Introspection Décorateurs Memoïsation Timeout Prédéfinis et « multiméthodes » edit du 23.6 : je viens de découvrir comment intégrer un notebook Jupyter à WordPress, alors voilà: https://gist.github.com/goulu/e0a39091eaed677aa9c9a75669750a11 (tiens… ça marche chez moi mais pas ici…) Commentaires #
Eau chaude – Calcul de constante de temps

Eau chaude – Calcul de constante de temps

Préambule Grâce au montage basé sur un Arduino Yun, je peux monitorer en quasi temps réel par un échantillonnage toute les 10 minutes, l’état du volume de l’eau chaude sanitaire (ECS). Ces données sont enregistrées : un fichier par mois, comprenant une ligne par mesure. On a, séparé par TAB pour un copier-coller facile dans Excel: Date, année/mois/jour Temps, heure : minute :seconde Marche de la pompe des panneaux solaires, en pourcent Température de retour des panneaux solaires Température du volume d’eau solaire (ES) Température du volume d’eau chaude sanitaire Le système est décrit ici : https://microclub.ch/2014/10/11/yun-monitoring-de-leau-solaire/
Main robotique pouvant coder le LPC

Main robotique pouvant coder le LPC

Idée… # A l’heure actuelle, il n’y a à ma connaissance aucun robot qui code du LPC. Idée… pourquoi ne pas en faire un? Une recherche sur le WEB montre qu’il y a bien des mains préfabriquées. En bois, en PLA, en métal. Même certaines peuvent être imprimées en 3D, dans la même matière que les LEGOs (réf. 1, 2, 3). Aucune ne peut écarter l’index des autres doigts ; souvent le pouce est seulement opposable. En définitive, il me faut construire une main simple, mais suffisante pour coder.
Yun – Expériences & découvertes

Yun – Expériences & découvertes

Le champ d’application # Dans un article précédent, je montrais le besoin d’activer une DHCP pour utiliser pleinement un Arduino Yun. Le présent article répond à quelques questions légitimes de l’utilisation et des possibilités de cette plateforme bi-processeur. Voici rapidement les caractéristiques du Yun. C’est un hardware similaire au Leonardo, équipé du CPU Atmel ATmega32U4, mais il comprend – c’est ici l’essentiel – un second CPU Atheros AR9331, qui tourne un Linux. OpenWrt est adapté pour le Yun, appelé Linino. L’OS est sur une flash de 16 Mb ; il en utilise 9 Mb. Il a des connexions Ethernet ; Wifi et USB-A supplémentaires ; un port pour mini carte SD. L’alimentation se fait en 5V, pas de régulateur. Soit par la mini USB, soit par les pins 5V et VCC. La partie Arduino communique avec le Linux via le serial1.
Python et les objets statiques

Python et les objets statiques

Les variables statiques # En C/C++, il est l’usage d’avoir des variables statiques, c’est-à-dire non-dynamiques, pour le comptage d’objets ou pour des flags en code embarqué, ou l’on évite comme la peste les new et delete. C’est intégré au langage, avec le mot clef ‘static’, au cas où la définition globale – hors des accolades – n’y suffit pas. Une variable statique est aussi privée au module, afin de réduire sa visibilité.
Récupération d’un ancien programme BASIC

Récupération d’un ancien programme BASIC

Quelle est la durée de vie d’un programme ? # Dans notre univers de plus en plus informatisé, la question de la mise à jour et de la pérennité d’un programme est légitime. Faire tenir des anciens programmes DOS est le lot de techniciens qui travaillent sur des machines d’un prix très élevé (pas le PC, mais bien la machine cible…) et dont il faut assurer la maintenance une vingtaine d’années, voire plus. Parfois, on peut avoir de bonnes surprises !
Découvrir le Raspberry Pi

Découvrir le Raspberry Pi

Introduction # Attention – section LAN modifiée Lors du dernier festival de robotique à l’EPLF (https://festivalrobotique.epfl.ch/ ) , comme un leitmotiv résonnait les mots « Raspberry Pi » Ainsi que plusieurs amis du MICROCLUB, nous nous décidons d’acquérir un de ces modules, qui a les caractéristiques suivantes (http://www.raspberrypi.org/ ): Prix $35 (avec alimentations, câbles boîtier, carte SD, ça revient à CHF 60.-) Taille du print: carte de crédit, 85.6 x 54 mm (avec boîtier… compter un peu plus!!) Alimentation 5V, via USB, mais 700 mA (3.5 W) CPU ARM à 700 MHz (hackable à 1 Ghz…) Mémoire RAM 512 Mb Mémoire FLASH par SD Card, minimum 2 Go (j’ai mis 8 Go) Graphique : 1920×1200, capable de décoder du MP4 (H264); sorties HDMI et PAL/NTSC Audio: jack 3.5 mm et HDMI LAN: 10/100 MB, RJ45 Ports: 3 x USB2
Désobfuscation du Mandelbrot en Python

Désobfuscation du Mandelbrot en Python

L’autre jour, j’ai découvert un magnifique programme en Python obfusqué: [code lang= »python »]_ = ( 255, lambda V ,B,c :c and Y(V*V+B,B, c -1)if(abs(V)<6)else ( 2+c-4*abs(V)**-0.4)/i ) ;v, x=1500,1000;C=range(v*x );import struct;P=struct.pack;M,\\ j =’<QIIHHHH’,open(‘M.bmp’,’wb’).write for X in j(‘BM’+P(M,v*x*3+26,26,12,v,x,1,24))or C: i ,Y=_;j(P(‘BBB’,*(lambda T:(T*80+T**9 *i-950*T **99,T*70-880*T**18+701* T **9 ,T*i**(1-T**45*2)))(sum( [ Y(0,(A%3/3.+X%v+(X/v+ A/3/3.-x/2)/1j)*2.5 /x -2.7,i)**2 for \\ A in C [:9]]) /9) ) )[/code] Il produit en une vingtaine de minutes cette image de l’ Ensemble de Mandelbrot:
Boite à outils Python : PyPI, virtualenv, Git SVN Hg, Goulib

Boite à outils Python : PyPI, virtualenv, Git SVN Hg, Goulib

·1351 mots·7 mins
setuptools est un outil Python qui n’a (à ma connaissance) aucun équivalent dans l’autres langages : il permet de télécharger des librairies du web, avec toutes leurs dépendances et de les installer, le tout automatiquement . Après l’avoir installé il suffit par exemple de lancer « easy_install Goulib » depuis une ligne de commande pour incorporer toutes un certain nombre des fonctions Python que j’ai développé ces dernières années à votre propre librairie et les utiliser dans vos propres programmes. Et si vous n’y trouvez pas votre bonheur, il y a environ 24000 autres « packages » disponibles sur « PyPI », le « Python Package Index » dans lequel easy_install.exe va chercher les librairies.
Mots alphabétiques en Python

Mots alphabétiques en Python

·362 mots·2 mins
Trouvé sur un blog un petit problème simple et marrant : trouver les mots du dictionnaire les plus longs dont les lettres sont dans l’ordre alphabétique, ou dans l’ordre inverse. Cherchez « à la main » et vous n’en trouverez pas tant que ça… Le problème et les solutions pour l’anglais trouvées avec Mathematica sont ici. Mon Programme Python pour le français est ci dessous . Il est « non trivial » en raison des accents, car il faut:
Python avec l’environnement PyCharm

Python avec l’environnement PyCharm

Installation et 1ère prise en main # L’environnement PyCharm, de Jetbrains (http://www.jetbrains.com/pycharm/) est prévu pour la programation, test, debug et déployement en Python. Le fichier téléchargé pour l’installation pèse env.80 MB. Elle se fait sans problème, pas besoin de redémarrer Windows. Avant de le lancer, il faut avoir un (ou plusieurs) interprèteur(s) Python installé(s). Dans mon cas, j’ai la version 2.7.2.
Python

Python

·1171 mots·6 mins
Il ne vaut pas la peine de connaitre un langage qui ne modifie pas votre façon de penser la programmation. (Alan Perlis) Après Basic, Pascal, Modula-2, ADA, LISP, Prolog, C++ et sa STL , je viens de découvrir un nouveau langage qui modifie ma façon de penser la programmation : Python. Ce langage a été créé par Guido van Rossum en une semaine de 1989, sur un Mac, et baptisé en l’honneur des « Monty Pythons »… 20 ans plus tard, son langage est utilisé dans de très nombreux domaines et applications, entre autres au CERN, à la NASA, et chez Google où travaille désormais Guido.
Python : un petit Sudoku pour commencer

Python : un petit Sudoku pour commencer

·158 mots·1 min
Ces temps-ci, je découvre Python, un langage de programmation très apprécié en particulier dans la communauté scientifique. Ce « langage interprété multi paradigme » intègre des concepts développés dans plusieurs langages récents, ce qui en fait peut-être le langage le plus complet disponible actuellement. Pour une première approche de ce langage, je vous propose l’analyse du Plus Court Solveur de Sudoku # Voici un programme en Python de 173 caractères seulement qui serait le plus court solveur de sudoku connu actuellement :