Démonstrations de Python
#!/usr/bin/python3
# -*- coding: Utf-8 -*- Autorise les accents
# https://www.python.org/dev/peps/pep-0263/
#
# Copyright (C) 2018-2018 cc-by-sa 4.0 ModLibre.info
# Version 2018-06-03 Jean.Thiery@ModLibre.info
# Titre: Impression d'un texte
print("Hello Bonaldi !") # fr: print = imprimer
print(" Toute démonstration d’un produit quelconque ")
print(" qui fonctionnait parfaitement aux répétitions ")
print(" échouera lamentablement lors de la démonstration publique.")
# L'« effet Bonaldi »
#
# L'« effet Bonaldi », ou parfois « syndrome Bonaldi »,
# est une théorie populaire associée au nom de Jérôme Bonaldi.
# Elle fait référence aux déboires que connut cet animateur
# lorsqu'il présentait des objets et inventions insolites
# à la fin de l'émission Nulle part ailleurs.
# L'effet Bonaldi est un cas particulier de la loi de Murphy.
# Il énonce que :
#
# « Toute démonstration d’un produit quelconque
# qui fonctionnait parfaitement aux répétitions
# échouera lamentablement lors de la démonstration publique. »
#
# https://fr.wikipedia.org/wiki/J%C3%A9r%C3%B4me_Bonaldi
Hello Bonaldi !
Toute démonstration d’un produit quelconque
qui fonctionnait parfaitement aux répétitions
échouera lamentablement lors de la démonstration publique
# coding: utf-8 Autorise les accents
# Copyright (C) 2015-2015 Creative Commons Attribution 2.5
# Version 2015-10-02 Jean.Thiery@ModLibre.info
# Titre: Contour et surface d'un disque
import math
texte = input("Rayon du disque ? ") # entre
rayon = int(texte)
contour = 2 * math.pi * rayon
print("Contour = %s" % contour) # imprime
surface = math.pi * rayon * rayon
print("Surface = %s" % surface) # imprime
Rayon du disque ? 10
Contour = 62.8318530718
Surface = 314.159265359
# coding: utf-8 Autorise les accents
# Copyright (C) 2007-2015 Creative Commons Attribution 2.5
# http://wiki.laptop.org/go/Pippy
# Initial version Rafael Ortiz </go/User:RafaelOrtiz>
# Version 2015-10-01 Jean.Thiery@ModLibre.info
# Title: Fibonacci Series
# Author: Rafael Ortiz </go/User:RafaelOrtiz>
# About: The Fibonacci Number Series
# en: http://en.wikipedia.org/wiki/Fibonacci_number
# fr: http://fr.wikipedia.org/wiki/Suite_de_Fibonacci
# Shows: Using tuple assignments. While loop.
# XO version
a, b = 1, 1
while b < 10000: # tant que
print(a) # imprime
a, b = b, a+b
# Variations
# a, b = 1, -1
# a, b = b, a-b # suite de Fibonacci alternée
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
# coding: utf-8 Autorise les accents
# Copyright (C) 2007-2015 Creative Commons Attribution 2.5
# http://wiki.laptop.org/go/Pippy
# Initial version Chris Ball
# Version 2015-10-01 Jean.Thiery@ModLibre.info
#
# Title: Times2 -> Multiplie
# Author: Chris Ball
# About: Print any times table
# Shows: Loops, range, and input
# XOversion: Bundled in 656
texte = input("Quelle table de multiplication ? ") # entre
nombre = int(eval(texte))
for i in range(1,10): # dans l'intervalle [1,10[
print(nombre, "x", i, "=", i*nombre) # imprime
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x ......
# coding: utf-8 Autorise les accents
# Copyright (C) 2015-2015 GPL v3 [https://www.gnu.org/licenses/gpl.html]
# Version 2015-10-30 Jean.Thiery@ModLibre.info
# coeur.py : Tracé d'un coeur
from math import *; from turtle import *
texte = input("Longueur de la pointe [100] ? ")
if texte == "" : texte = "100"
taille = eval(texte)
texte = input("Angle de la pointe [15 (60) 90] ? ")
if texte == "" : texte = "60"
angle = eval(texte)
rayon = taille / sin(pi*angle/180)
clearscreen() # Efface l'écran
shape("circle") # Plume sous forme de cercle
shapesize(0.01, 0.1, 0) # Plume très fine
penup() # Plume haute
setpos( 0, -taille) # Position initiale
pencolor(1, 0, 0) # Couleur de plume (rouge, vert, bleu)
pendown() # Plume basse
fillcolor(1, 0, 0) # Couleur de remplissage (rouge, vert, bleu)
begin_fill() # Début de remplissage
setheading(90) # Direction vers le haut
circle(rayon, angle) # Coté gauche de la pointe
setheading(heading()+180) # On continue tout droit
circle(rayon, -angle) # Coté gauche du coeur
x, y = position() # Position de la plume
circle(abs(x)/2, -180) # Sommet gauche du coeur
setheading(-90) # Direction vers le bas
circle(abs(x)/2, -180) # Sommet droit du coeur
circle(rayon, -angle) # Coté droit du coeur
setheading(heading()+180) # On continue tout droit
circle(rayon, angle) # Coté droit de la pointe
end_fill() # Fin de remplissage
penup() # Plume haute
exitonclick() # Sort du mode graphique
# VARIATIONS : Changer le signe de l'angle d'un cercle
#
# circle(abs(x)/2, -180) -> circle(abs(x)/2,180) # Sommet droit du coeur
# ou
# circle(rayon, -angle) -> circle(rayon, angle) # Coté gauche du coeur
#
# VARIATIONS : Changer les couleurs
#
# fillcolor(0, 0, 0) # black = noir
# fillcolor(1, 0, 0) # red = rouge
# fillcolor(0, 1, 0) # green = vert
# fillcolor(0, 0, 1) # blue = bleu
# fillcolor(1, 1, 0) # yellow = jaune
# fillcolor(0, 1, 1) # cyan = cyan
# fillcolor(1, 0, 1) # magenta = magenta
# fillcolor(1, 1, 1) # white = blanc
#
# REFERENCES
#
# Module turtle
# https://docs.python.org/2/library/turtle.html
#
# Dessins de coeurs
# http://serge.mehl.free.fr/anx/coeur.html
# http://heraldie.blogspot.fr/2012/10/le-cur-heraldique-et-geometrie.html