Cours - Sebjaumaths

publicité
Les différents types
1. Entiers : Type int
Les opérations de base : + , - , * , / ( division euclidiène ) , % ( reste de la division
euclidienne), puissance : **
La taille « naturel » d’un entier codé en 32 bits est :
231  N  231
>>> (2**30)-1+2**30
2147483647
>>> (2**30)+2**30
2147483648L
Au-delà, il est qualifié de long et est suivit d’un L.
2. Nombres réels : Type float
Ce sont les nombres à virgules :
2.3 , -1051.26 , 10. , 5e15 (utilisé pour les exposants en base 10)
Les opérations étant les opérations usuelles, ainsi que les fonctions classiques mathématiques
du module math.
Il est possible de changer les types :
>>> float(3)
3.0
>>> int(5.15)
5
3. Les listes ou tableau : Type list
On définit un tableau à l’aide de [argument].
>>> tab=[5,8.1,"coucou",[4,5]]
>>> tab[0] #les indices d’un tableau commencent à 0
5
>>> tab[2]
'coucou'
>>> tab[3][0]
4
On constate qu’un tableau peut être composé de différents types, même du type list…
Il est possible de changer une valeur dans un tableau :
>>> tab[0]=7
>>> tab
[7, 8.1, 'coucou', [4, 5]]
Exercice 1 :
Ecrire la fonction permute qui prend en argument un tableau tab et deux entiers i et j et qui
permute les valeurs des indices i et j. ( la fonction ne renvoie pas le tableau).
1
La taille d’une liste est obtenue avec la fonction len :
>>> len(tab)
4
Exercice 2 :
Ecrire une fonction somme qui renvoie la somme des valeurs d’un tableau.
Ecrire une fonction moyenne qui renvoie la moyenne des valeurs d’un tableau.
Exercice 3 :
Ecrire une fonction qui donne le plus grand et le plus petit élément d’un tableau :
Exercice 4 :
Ecrire une fonction occurrences qui renvoie le nombre de a qui apparaissent dans un tableau.
Exemple :
>>> occurrence ( 6,[4,6,7,8,4,9,6,2,13])
il y a 2 fois 6 dans ce tableau
>>> occurrence ( 5,[4,6,7,8,4,9,6,2,13])
il n'y a pas de 5 dans ce tableau
Ecrire une fonction nb_note_au_dessus qui renvoie le nombre valeur supérieur à a qui
apparaissent dans un tableau ;
Exemple :
>>> nb_note_au_dessus ( 10,[14,6,17,8,4,9,16,2,13])
il y a 4 valeurs au dessus de 10 dans ce tableau
Il est possible de concaténer deux tableaux :
>>> tab + [5,6,7,'pourquoi']
[49, [4, 5], 'coucou', 8.1, 94, 5, 6, 7, 'pourquoi']
Exercice 5 :
Ecrire la fonction sub qui extrait le sous vecteur des éléments compris entre deux indices
(inclus).
Exercice 6 :
Ecrire une fonction rand_vect qui crée un vecteur de taille n d’entier aléatoires inférieur à un
x donnée.
4. Les booléens :Type bool
Voir les conditionnelles du chapitre précédent.
2
5. Les chaines de caractères : Type string
>>> mot = 'jeudi'
>>> mot[2] #la troisième lettre
'u'
>>> mot[1:4] # le sous-mot de l’indice 1 à 3 inclus
'eud'
>>> mot+mot #la concaténation
'jeudijeudi'
>>> len(mot) # la longueur d’un mot
5
Exercice 7 :
Ecrire une fonction retourne qui prend en argument une chaine de caractère et la retourne.
Ecrire une fonction palindrome qui retourne vrai si la chaine de caractère est un palindrome.(
en supposant que cet chaine ne contient pas d’espace)
Ecrire une fonction retire_espace qui prend en argument une chaine de caractère est retourne
ce chaine privée d’éventuelle espace.
En déduire une amélioration de la fonction palindrome.
6. Les dictionnaires : Type dict
>>> personne = { 'Nom':'Dupont' , 'Prenom' : 'Jean' , 'Age':30,'adresse' : '26 rue de la Risle'}
>>> type(personne)
<type 'dict'>
>>> personne['Age']
30
Il est possible de rajouter une nouvelle entrée ( à la fois clé et valeur )
>>> personne['Sport']='tennis'
>>> personne
{'Nom': 'Dupont', 'Age': 30, 'Sport': 'tennis', 'adresse': '26 rue de la Risle', 'Prenom': 'Jean'}
On remarque que l’ordre n’a pas d’importance.
Nous avons utilisé ici, pour nos clés et nos valeurs, des chaînes de caractères. Ce n'est
absolument pas obligatoire. Comme avec les listes, vous pouvez utiliser des entiers comme
clés :
>>> dico = {}
>>> dico[0]="premier"
>>> dico[1]="suivant"
>>> dico[2]=665
>>> dico[3]=[5,6,8]
>>> dico
{0: 'premier', 1: 'suivant', 2: 665, 3: [5, 6, 8]}
3
Exercice 8 :
Ecrire une fonction entree_des_notes qui crée un dictionnaire sur les matières :maths,
physique, français et anglais, et demande à l’utilisateur de rentrer les notes et retourne le
dictionnaire avec les notes entrées.
>>> entree_des_notes()
quelle note en maths : 15
quelle note en physique : 13
quelle note en français : 16
quelle note en anglais : 10
{'maths': 15, 'physique': 13, 'fran\xe7ais': 16, 'anglais': 10}
7. Programmation Orientée Objet (POO) ( source
http://fsincere.free.fr/isn/python/cours_python_ch1.php )
Python est un langage de programmation orienté objet (comme les langages C++, Java, PHP,
Ruby...).
Une variable est en fait un objet d'une certaine classe.
Par exemple, la variable amis est un objet de la classe list.
On dit aussi que la variable amis est une instance de la classe list.
L'instanciation (action d'instancier) est la création d'un objet à partir d'une classe (syntaxe
: NouvelObjet = NomdelaClasse(arguments)) :
>>> # instanciation de l'objet amis de la classe list
>>> amis = ['Nicolas','Julie']
# ou bien : amis = list(['Nicolas','Julie'])
>>> print(type(amis))
<class 'list'>
Une classe possède des fonctions que l'on appelle méthodes et des données que l'on
appelle attributs.
La méthode append() de la classe list ajoute un nouvel élément en fin de liste :
>>> # instanciation d'une liste vide
>>> amis = []
# ou bien : amis = list()
>>> amis.append('Nicolas') # synthase générale : objet.méthode(arguments)
>>> print(amis)
['Nicolas']
>>> amis.append('Julie')
# ou bien : amis = amis + ['Julie']
>>> print(amis)
['Nicolas','Julie']
>>> amis.append('Pauline')
4
>>> print(amis)
['Nicolas','Julie','Pauline']
>>> amis.sort()
# la méthode sort() trie les éléments
>>> print(amis)
['Julie', 'Nicolas', 'Pauline']
>>> amis.reverse()
print(amis)
# la méthode reverse() inverse la liste des éléments>>>
['Pauline', 'Nicolas', 'Julie']
La méthode lower() de la classe str retourne la chaîne de caractères en casse minuscule :
>>> # la variable chaine est une instance de la classe str
>>> chaine = "BONJOUR"
# ou bien : chaine = str("BONJOUR")
>>> chaine2 = chaine.lower()
# on applique la méthode lower() à l'objet chaine
>>> print(chaine2)
bonjour
>>> print(chaine)
BONJOUR
La méthode pop() de la classe dict supprime une clé :
>>> # instanciation de l'objet moyenne de la classe dict
>>> moyenne = {'sport': 11.0, 'anglais': 14.3, 'math': 12.5}
>>> # ou : moyenne = dict({'sport': 11.0, 'anglais': 14.3, 'math': 12.5})
>>> moyenne.pop('anglais')
14.3
>>> print(moyenne)
{'sport': 11.0, 'math': 12.5}
>>> print(moyenne.keys()) # la méthode keys() retourne la liste des clés
dict_keys(['sport', 'math'])
>>> print(moyenne.values())
# la méthode values() retourne la liste des valeurs
dict_values([11.0, 12.5])
5
Téléchargement