Accueil > Python au lycée > Généralités

Articles de cette rubrique

    24 mars 2016

  • Caractères et chaînes de caractères en Python

    Tests sur les caractères et sur les chaînes

    • isalpha() : teste si ce sont tous des lettres.
    • isdigit() : teste si ce sont tous des chiffres.
    • isalnum() : teste si ce sont tous des caractères alphanumériques.
    • isspace() : teste s’il n’y a que des espaces.
    • istitle() : teste si les premières lettres de chaque mot sont les seules en majuscules.
    • islower() : teste si toutes les lettres sont en minuscules.
    • isupper() : teste si toutes les lettres sont en majuscules.
    • endwith("machaine") : teste si la chaîne se termine par "machaine".

    Manipulation sur les caractères et sur les chaînes

    Les méthodes sont nombreuses. En voici juste quelques unes :

    • lower() : tout mettre en minuscules.
    • upper() : tout mettre en majuscules.
    • replace("ceci","cela") : remplace les occurrences de "ceci" par "cela".
    • join(maListe) : concatène des chaînes d’une liste en choisissant un séparateur.

    On peut aussi se servir de la fonction sorted() pour classer les lettres (mais on obtient une liste).


  • 16 juin 2015

  • Manipulation de listes avec Python

    Création de listes

    La création de listes est détaillée dans cet article.

    Accès aux éléments de la liste

    >>> A=[5,3,7,10,8,9]
    >>> print(A)
    [5, 3, 7, 10, 8, 9]
    >>> A[1]
    3
    >>> A[2:]
    [7, 10, 8, 9]
    >>> A[:2]
    [5, 3]
    >>> A[2:4]
    [7, 10]

    - Le premier terme étant A[0], A[1] est le deuxième élément.
    - A[2 :] renvoie la liste de A[2] jusqu’à la fin.
    - A[:2] renvoie la liste du début jusqu’à A[1].
    - A[2:4] renvoie la liste de A[2] jusqu’à A[3].

    Ajout et suppression d’éléments

    >>> A=[5,4,3,4,7]
    >>> A
    [5, 4, 3, 4, 7]
    >>> A.append(8)
    >>> A
    [5, 4, 3, 4, 7, 8]
    >>> A.remove(4)
    >>> A
    [5, 3, 4, 7, 8]
    >>> A.pop(1)
    3
    >>> A
    [5, 4, 7, 8]
    >>> A.extend([0,0,7])
    >>> A
    [5, 4, 7, 8, 0, 0, 7]

    - append() ajoute un élément en fin de liste.
    - remove() enlève la première occurrence de la valeur.
    - pop() enlève la valeur à l’index donnée et renvoie cette valeur.
    - extend() ajoute une liste en fin de liste.

    Divers

    >>> A=[4,7,8,7,2]
    >>> A
    [4, 7, 8, 7, 2]
    >>> A.index(7)
    1
    >>> A
    [4, 7, 8, 7, 2]
    >>> A.count(7)
    2
    >>> A
    [4, 7, 8, 7, 2]
    >>> A.sort()
    >>> A
    [2, 4, 7, 7, 8]
    >>> B=[3,5,0,8]
    [0, 3, 5, 8]
    >>> B
    [3, 5, 0, 8]
    >>> B.reverse()
    >>> B
    [8, 0, 5, 3]
    >>> len(B)
    4

    - index() renvoie le premier index de la valeur donnée.
    - count() renvoie le nombre de valeurs égales à la valeur donnée.
    - sort() modifie la liste en la triant.
    - La fonction sorted() renvoie une liste triée sans modifier la liste initiale.
    - reverse() renvoie la liste à l’envers.
    - La fonction len() renvoie la longueur de la liste.


  • 13 juin 2015

  • Création de listes en Python

    Des listes et pas des tableaux

    Contrairement à d’autres langages, Python propose des listes et non des tableaux. Cela a certains avantages :
    - pas besoin de déclaration une taille de tableaux
    - gestion dynamique de la liste
    - des listes hétérogènes de différents types
    - des opérations sur les listes (programmation objet).

    Création de listes à une dimension

    On peut tout d’abord créer une liste vide puis lui ajouter des éléments :

    >>> A=[]
    >>> print(A)
    []
    >>> A.append(5)
    >>> A.append("sept")
    >>> print(A)
    [5, 'sept']

    On peut aussi directement créer une liste de façon exhaustive :

    >>> B=[3,7,"deux",3.14]
    >>> print(B)
    [3, 7, 'deux', 3.14]
    >>> print(B[1])
    7

    Pour créer des listes plus longues, on peut utiliser les compréhensions de listes :

    >>> C=[0 for i in range(5)]
    >>> print(C)
    [0, 0, 0, 0, 0]

    NB : la syntaxe C=5*[0] fonctionne mais est à déconseiller car elle va entraîner des erreurs pour les tableaux à deux dimensions.

    Enfin, on peut créer un tableau par copie de tableau. Mais attention à la syntaxe !

    >>> D=[1,2,3]
    >>> E=D
    >>> F=D.copy()
    >>> D.remove(2)
    >>> print(D)
    [1, 3]
    >>> print(E)
    [1, 3]
    >>> print(F)
    [1, 2, 3]

    On voit sur l’exemple précédent que E reste lié avec D. C’est un deuxième pointeur (nom) sur une même liste.

    Par contre F est bien une nouvelle liste, totalement indépendante de D. On peut aussi utiliser la syntaxe D[ :] au lieu de D.copy().

    On peut alors facilement créer toute sorte de listes :

    >>> A=[x**2 for x in range(11)]
    >>> A
    [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    >>> B=[2*x+3 for x in range(11)]
    >>> B
    [3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23]
    >>> C=[x for x in range(25) if x%3==0]
    >>> C
    [0, 3, 6, 9, 12, 15, 18, 21, 24]

    Création de listes à deux dimensions

    On peut la créer de façon exhaustive :

    >>> A=[[1,2,3],[4,5,6]]
    >>> print(A)
    [[1, 2, 3], [4, 5, 6]]

    On peut aussi utiliser les boucles :

    >>> B=[[0 for j in range(10)] for i in range(3)]
    >>> print(B)
    [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

    Attention à l’exemple suivant :

    >>> C=3*[10*[0]]
    >>> print(C)
    [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
    >>> C[0][0]=8
    >>> print(C)
    [[8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0], [8, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

    On voit que même si la liste C paraît correcte, les lignes sont en réalité des copies les unes des autres. Ce n’est normalement pas ce que l’on veut !

    Et maintenant ?

    Et bien, il est temps de les manipuler !


  • 10 octobre 2010

  • Lecture et écriture dans un fichier (en Python)

    Pourquoi faire ?


    En programmation, il est souvent utile de séparer le fichier contenant le programme des fichiers contenant des données utiles au programme. Ces fichiers peuvent servir comme données initiales mais aussi comme résultats du programme.

    C’est pourquoi, il est très important de pouvoir manipuler les fichiers de texte par des commandes Python.

    Création d’un fichier de résultat


    Voici un exemple d’utilisation :

    La lettre w signifie que le fichier est ouverte en écriture. Cela a deux conséquences capitales à retenir :
    - si le fichier monfichier.txt n’existe pas, celui-ci est créé.
    - si le fichier monfichier.txt existe déjà, celui-ci est effacé : toutes ses données actuelles seront perdues.

    Utilisation d’un fichier de données


    Reprenons le fichier précédemment créé pour sa lecture complète :

    qui renvoie comme résultat

    La lettre r signifie que le fichier est ouverte en lecture.

    La commande read() peut prendre comme argument un nombre désignant le nombre de caractères à lire à partir de la position courante. Ceci peut servir dans le cas du traitement par blocs des fichiers de grandes tailles.

    On peut aussi préférer une lecture par ligne en utilisant la commande readline().

    Pour en savoir plus, voici quelques lignes :
    - version anglaise
    - version française


  • 12 août 2010

  • Les affectations (en Python)

    Les affectations simples


    Le symbole d’affectation est le signe "=".

    Lors d’une affectation, Python crée à la fois la valeur et la variable qui pointe vers cette valeur.

    Voici quelques exemples :

    Dans cet exemple, a=2 crée le nombre entier 2 et la variable a pointant sur 2.

    Ensuite, b=a crée une variable b qui pointe sur la valeur pointée actuellement par a, c’est-à-dire 2.

    La commande a="une framboise" crée une chaîne de caractère et fait pointer la variable a dessus.

    On peut alors vérifier que la variable b est inchangée.

    Enfin, a=2. crée cette fois-ci un flottant 2.0 et fait pointer a dessus.

    Affectations simultanées


    Voici quelques exemples :

    La commande a,b=3,4 affecte simultanément la valeur 3 à a et la valeur 4 à b.

    Dans une cas, on pourrait aussi bien remplacer cette instruction par a=3 et b=4.

    Par contre l’instruction a,b=b,a est plus intéressante car elle permet de permuter les valeurs de a et b, ce qui ne peut se faire autrement qu’en utilisant une troisième variable.


0 | 5

SPIP | | Plan du site | Suivre la vie du site RSS 2.0