Correction exercices les fichiers en Python

Correction exercices les fichiers en Python

  1. Objectifs

  2. Exercice 01

    1. Énoncé
    2. Solution
      • Opérations Ordre
        if os.path.isfile(filename) : 2
        return file.readline() 3
        with open(filename, ‘r’)as file : 1
        return None 5
        else : 4



  3. Exercice 02

    1. Énoncé
    2. Solution
      • La bonne réponse est C
      • inventory = open("inventory.txt", 'r')
        eof = False
        while eof == False:
            line = inventory.readline()
            if line != '' :
                if line != '\n' :
                    print(line)
            else:
                print("End of file")
                eof = True
                inventory.close()
        
  4. Exercice 03

    1. Énoncé
    2. Solution
      • La bonne réponse est C
      • Explication:

      • Les modes “r+“, “w+” et “a+” ouvrent le fichier pour la mise à jour (lecture et écriture). Le mode “w+truncate le fichier.
  5. Exercice 04

    1. Énoncé
    2. Solution
      • Bonne réponse: CE
  6. Exercice 05

    1. Énoncé
    2. Solution
      • Bonne réponse: FGH
  7. Exercice 06

    1. Énoncé
    2. Solution
      • Bonne réponse: A
  8. Exercice 07

    1. Énoncé
    2. Solution
      • Nous utilisons pour cela la méthode open () python pour ouvrir les fichier en mode lecture et ensuite la méthode read () python pour récupérer le contenu des fichiers. Et puis on applique la méthode split () pour convertir le contenu récupéré en une liste python. Finalement on parcourt les deux listes avec la boucle for pour déterminer la liste des mots communs aux deux fichiers.
      • f1 = open('C:/Users/bigtec/Desktop/fichier1.txt', "r")
        f2 = open('C:/Users/bigtec/Desktop/fichier2.txt', "r")
        contenu1 = f1.read()
        contenu2 = f2.read()
        liste1 = contenu1.split()
        liste2 = contenu2.split()
        f1.close()
        f2.close()
        listMotsCommuns = []
        for mot in liste1:
            if mot in liste2 and mot not in listMotsCommuns:
                listMotsCommuns.append(mot)
        print(listMotsCommuns)
  9. Exercice 08

    1. Énoncé
    2. Solution
      • def saisir():
            nouveau = "o"  # O -> oui ; N -> non
            fichier = open("C:/Users/bigtec/Desktop/concours.txt", "a")
            decision = {"a": "admis(e)", "r": "refuse(e)", "aj": "ajourne(e)"}
            groupe = {"1": "TMMSI01", "2": "TMMSI02", "3": "TMMSI03", "4": "TMMSI04"
                      , "5": "TMMSI05", "6": "TMMSI06"}
        
            while nouveau == "o":
                cin = input("Saisir le Numero CIN : ")
                nom = input("Saisir le Nom : ")
                prenom = input("Saisir le prenom : ")
                grp = input("saisir la groupe 1(TMMSI01)2(TMMSI02)... 6(TMMSI06): ")
                age = input("saisir l age ")
                dec = input("saisir la decision a(admis(e))r(refuse(e)) aj(ajourne(e)): ")
                ligne = cin+";"+nom+";"+prenom+";"+groupe[grp]+";"+age+";"+decision[dec]+"\n"
                fichier.write(ligne)
                nouveau = input("Saisir un nouveau candidat, (o / n) ?")
            fichier.close()
         
         
        def admis():
            fichier = open("C:/Users/bigtec/Desktop/concours.txt")
            dest = open("admis.txt", "a")
            for ligne in fichier:
                L = ligne.split(";")
                if L[4].strip() == "admis(e)":
                    dest.write(ligne)
            fichier.close()
            dest.close()
         
         
        def attente():
            fichier = open("C:/Users/bigtec/Desktop/admis.txt")
            dest = open("attente.txt", "a")
            for ligne in fichier:
                L = ligne.split(";")
                if int(L[3]) >= 30:
                    enreg = L[0]+";"+L[1]+";"+L[2]+"\n"
                    dest.write(enreg)
            fichier.close()
            dest.close()
         
         
        def statistiques(dec):
            fichier = open("C:/Users/bigtec/Desktop/concours.txt")
            L = fichier.readlines()
            fichier.close()
            L1 = []  # candidats admis
            L2 = []  # candidats refuses
            L3 = []  # candidats ajournes
            for ligne in L:
                L = ligne.split(";")
                if L[4].strip() == "admis(e)":
                    L1.append(ligne)
                elif L[4].strip() == "refuse(e)":
                    L2.append(ligne)
                else:
                    L3.append(ligne)
            if dec == "admis":
                return (len(L1)/len(L))*100
            elif dec == "refuse":
                return (len(L2)/len(L))*100
            else:
                return (len(L3)/len(L))*100
         
         
        def supprimer():
            fichier = open("C:/Users/bigtec/Desktop/admis.txt")
            candidat = []  # contient les candidats restants
            for ligne in fichier:
                L = ligne.split(";")
                if int(L[3]) < 30:
                    candidat.append(ligne)
            fichier.close()
            # reecrire la nouvelle liste
            fichier = open("admis.txt", "w")
            fichier.writelines(candidat)
            fichier.close()
        saisir()
        



Laisser un commentaire