Premiers pas en Python

Les variables

Les entiers

In [1]:
# On met la valeur 1 dans la variable i
i=1
i
Out[1]:
1
In [2]:
# On peut faire des opérations/affectations avec ces variables
i=i+8
i
Out[2]:
9

Les flottants

In [3]:
# On peut définir également des flottants
x=0.8
x
Out[3]:
0.8
In [4]:
y=1.2
z=x+y
z
Out[4]:
2.0

Les chaines de caractères

In [5]:
var1="Bonjour, "
var1
Out[5]:
'Bonjour, '
In [6]:
var2="il faut \n sauter des \n lignes"
print var2
il faut 
 sauter des 
 lignes
In [7]:
# Concaténation des variables
print var1+var2
Bonjour, il faut 
 sauter des 
 lignes
In [8]:
# input recupère la donnée rentrée par l'utilisateur
res=input("entrez un nombre entier ")
print "vous avez rentré", res 
entrez un nombre entier 8
vous avez rentré 8

Les conversions

In [9]:
x=10.98
print int(x)
# On convertit le flottant en entier (partie entière)
print x,type(x),int(x),type(int(x))
i=15
# On convertit l'entier en flottant
print i,type(i), float(i),type(float(i))
10
10.98 <type 'float'> 10 <type 'int'>
15 <type 'int'> 15.0 <type 'float'>
In [10]:
# Si une des opérandes est float, le résultat est float
i=1
print i
print "le type de i est:",type(i)
i=i+13.7
print i
print "le type de i est devenu:",type(i)
1
le type de i est: <type 'int'>
14.7
le type de i est devenu: <type 'float'>
In [11]:
# attention si toutes les variables sont entières, le résultat est entier
print 2/3
print 2./3
0
0.666666666667
In [12]:
c="machaine"
i=5
print c+str(i)
machaine5

Les entrées-sorties

In [13]:
# On peut préciser sur combien de "cases" l'entier doit etre ecrit.
# Des blancs sont ajoutés devant s'il le faut
i=6879
print '{:5d}'.format(i)
print '{:10d}'.format(i)
print '{:5d}{:5d}'.format(i,i%2)
 6879
      6879
 6879    1
In [14]:
# Idem pour les flottants.
# On précise le nombre de cases et le nombre de décimales
p=3.14159265
print "la valeur de p est",p
print "la valeur de p est", '{:8.3f}'.format(p)
print "la valeur de p est", '{:5.3f}'.format(p)
la valeur de p est 3.14159265
la valeur de p est    3.142
la valeur de p est 3.142
In [15]:
# On crée un fichier, on écrit des chaines de caractères dedans. 
# Puis on le ferme
mon_fichier = open("fichier.txt", "w")
mon_fichier.write("bonjour\n") 
mon_fichier.write(str(1)+"\n") 
mon_fichier.close()  
In [16]:
# On ouvre le fichier, on écrit des chaines de caractères dedans. 
# Puis on le ferme
mon_fichier = open("fichier.txt", "r")
res=mon_fichier.read() 
print(res)
print type(res)
bonjour
1

<type 'str'>
In [17]:
# On peut ouvrir un fichier existant et écrire à la suite
mon_fichier = open("fichier.txt", "a")
mon_fichier.write("bonjour\n") 
mon_fichier.write(str(1)) 
mon_fichier.close() 
In [18]:
mon_fichier = open("fichier.txt", "r")
res=mon_fichier.read() 
print(res)
bonjour
1
bonjour
1

Les listes

In [19]:
# On peut définir une liste d'éléments
l=[1,4,'kk',5.]
print l, type(l)
[1, 4, 'kk', 5.0] <type 'list'>
In [20]:
# On peut définir une liste remplie de 0
a=[0]*10
In [21]:
# On peut faire afficher le 1er, le 2eme etc élément
print l[0], l[1]
# Ou modifier l'avant-dernier dernier élement
l[-2]=999
print l
1 4
[1, 4, 999, 5.0]
In [22]:
# On peut ajouter un élement à la fin:
l.append(88)
print(l)
# Meme chose mais par concaténation:
l=l+['jj']
print l
# Et on peut supprimer un élément
del(l[3])
print l
[1, 4, 999, 5.0, 88]
[1, 4, 999, 5.0, 88, 'jj']
[1, 4, 999, 88, 'jj']
In [23]:
# On peut ajouter un element n'importe ou
a=[1,9,'aeffacer',9.8]
print a
a.insert(2,'nouveau')
print a
a.remove('aeffacer')
print a
[1, 9, 'aeffacer', 9.8]
[1, 9, 'nouveau', 'aeffacer', 9.8]
[1, 9, 'nouveau', 9.8]
In [24]:
# On peut demander la taille
print len(l)
5
In [25]:
# Jusqu'ici tout va bien
a=2018
b=a
print a,b
b=2019
print a,b
2018 2018
2018 2019
In [26]:
# La meme chose mais avec une liste: attention au piège!
a=[1,9,3,'quelle']
b=a
print a,b
b.append('blague')
print a,b

# La solution
b=list(a)
print a,b
b.append('non?')
print a,b
[1, 9, 3, 'quelle'] [1, 9, 3, 'quelle']
[1, 9, 3, 'quelle', 'blague'] [1, 9, 3, 'quelle', 'blague']
[1, 9, 3, 'quelle', 'blague'] [1, 9, 3, 'quelle', 'blague']
[1, 9, 3, 'quelle', 'blague'] [1, 9, 3, 'quelle', 'blague', 'non?']
In [27]:
# Le slicing
a=[1,8,7,1,18,4,77,2018]
print a[2:-1]
print a[2:]
print a[2:5]
[7, 1, 18, 4, 77]
[7, 1, 18, 4, 77, 2018]
[7, 1, 18]

Les structures de controle

Le if

In [28]:
a=-5
if a<0 :
    print "le module de ", a ," vaut", -a
else:
    print  "le module de ", a ,"vaut", a
le module de  -5  vaut 5

Le Tant Que

In [29]:
i=5
while i>0:
    i=i-1
    print i
4
3
2
1
0

La boucle for

In [30]:
for i in range(4,16):
    print i
4
5
6
7
8
9
10
11
12
13
14
15
In [31]:
for i in range(16,4,-1):
    print i
16
15
14
13
12
11
10
9
8
7
6
5

Les Fonctions

In [32]:
# Un premiere facon de definir une fonction
def f(x):
    x = x + 1
    return x
In [33]:
# Appel de la fonction f
z=5
print f(z)
6
In [34]:
# Autre facon, plus mathématique, de définir une fonction
f=lambda x: x**2+1
f(1)
Out[34]:
2