Cette page sert ou a servi de de fil conducteur aux stages de Strasbourg puis Colmar (2009-2010)
Elle renvoie vers les pages suivantes:
Avec l'éditeur de texte DrPython
a=15 #entier
e=15.0 #flottant
b=[a,a+1,a+2] #liste
a=a+5
c=(17 in b) #booleen
d="bonjour monde !" #chaine de caractere
tester le code suivant
a=12
b=15
a=b
b=a
print a
print b
#somme des entiers de 0 à 9
b=0
for a in range(10):
b=b+a
print b
#sommes cumulees des entiers de 1 à 10
b=0
for a in range(1,11):
b=b+a
print b
#somme des carres des elements d'une liste
b=0
c=[14,18,32,45]
for e in c:
b=b+e**2
print b
#repetition d'actions
for i in range(5):
print "tic"
n=0
i=0
while n<10000:
i=i+1 #compteur
n=n+i**2 #cumul
print n
print i
a=31608
if a%13==5 :
print "a est de la forme 13n+5"
else:
print "a n'est pas de la forme 13n+5"
a=17
if a%3==0:
print " de la forme 3n"
elif a%3==1:
print " de la forme 3n+1"
else:
print " de la forme 3n+2"
Une suite de syracuse est définie par u0=a et un+1 est égal à an/2 si an est pair et à 3an+1 si an est impair. On appelle temps de vol d'une telle suite le plus petit indice p tel que up=1.
Faire un programme qui quand on donne une variable a calcule le terme qui suit a dans une suite de Syracuse.
Faire un programme qui calcule le temps de vol pour la suite de Syracuse de premier terme 5
l=[] #liste vide
for i in range(10):
l.append(2**i)
print l
print l[0] #le premier terme a pour indice 0
print len(l)
print l[-1] #le dernier terme
Donner la liste des termes de la suite de syracuse de premier terme 5 pendant son temps de vol.
u=[x**2 for x in range(12)]
v=[x**2+y**2 for x in range(5) for y in range(5)]
w=[x**2+y**2 for x in range(5) for y in range(5) if x**2+y**2<=19]
z=[x for x in range(20) if x not in w]
t=[[x,y] for x in range(5) for y in range(5)] #produit cartesien
u=[5,4,2,3,1,2,6,2,4,3,5,4,4]
v=u.count(5)
w=[u.count(i) for i in range(1,7)]
u.sort()
u.remove(4)
m=max(u)
n=sum(w)
Si on veut utiliser des caractères non ASCII, il faut savoir quel encodage notre éditeur de texte utilise
c'est en général utf-8 ou latin-1 . On commencera donc chaque script par une ligne du genre
-*- coding:Utf-8 -*- ou -*- coding:Latin-1 -*-
#-*- coding:Utf-8 -*-
#On peut écrire des accents
#dans les commentaires sans s'énerver
c="chaine"
print len(c)
print c.replace("ch","pl")
c=c+"s"
a=123.485757
b=17
print "On trouve a=%f et b=%d" %(a,b)
print "On trouve a=%.2f " %(a)
print "On trouve a=%e \n et b=%d " %(a,b)
On appelle le module math
#-*- coding:Utf-8 -*-
from math import *
#ne pas utiliser la variable e
a=17
b=sqrt(a)
c=floor(b)
d=pi+e
f=exp(2)+log(3)
g=cos(pi/3)
On appelle le module random
#-*- coding:Utf-8 -*-
from math import *
from random import *
de=1+int(floor(6*random()))
tetra=randint(1,4)
#liste de nombres aléatoires
l=[randint(1,6) for i in range(100)]
Qu'est-ce qui ne va pas dans le code suivant? Proposer une correction.
from random import *
l=[random() for i in range(10) if random()<0.3]
print l
Voir cette page et essayer de faire un script permettant de dessiner l'une des étapes de la construction de la courbe de Peano
Faire un script simulant une promenade aléatoire dans le plan en 1000 étapes; à chaque étape, on se déplace de façon équiprobable vers le sud, le nord, l'est ou l'ouest.
print "ecris un nombre"
a=input()
print "son carre est",a**2
print "ecris un nombre naturel"
b=raw_input()
print "son carre est",int(b)**2
dec = open("fichier.txt","r")
#lecture du ficier
b=dec.read()
dec.close()
b="texte"
#ecriture dans un fichier
dec = open("fichier.txt","w")
dec.write(b)
dec.close()
Trouver tous les entiers n à trois chiffres tels que n soit égal à la somme des cubes de ses chiffres
Simuler mille lancer de dés et donner l'effectif correspondant à la sortie de chaque face.
Un basketteur a droit à deux lancers francs. La probabilité de réussir son premier lancer est de 0,6 (six chances sur 10). Si il a réussi son premier lancer, il a plus confiance en lui et dans ce cas, la probabilité de réussir son deuxième panier est de 0,8. Si il échoue au premier lancer, il se déconcentre et sa probabilité de réussite du deuxième lancer est de 0,3. Simuler cette épreuve 10 000 000 de fois et conjecturer la probabilité qu'il réussisse un seul lancer sur les deux.
Donner la liste des nombres premiers inférieurs à 1000 en utilisant le crible d'Ératosthène
Dans un pays imaginaire, la probabilité qu'un citoyen pris au hasard vote oui à un référendum est 0,48. On va simuler l'organisation de 500 sondages sur un échantillon de 1000 personnes puis 500 sondages sur un échantillon de 5000 personnes. On appelle sondage trompeur un sondage qui recueille un nombre d'intentions de votes pour le oui strictement majoritaire. Par combien divise-t-on approximativement le nombre de sondages trompeurs quand on passe d'un échantillon de 1000 à un échantillon de 4000?
fait le 19 novembre 2009 et le 18 janvier 2010