Best Python code snippet using SeleniumBase
table_frequences.py
Source:table_frequences.py
...67 dico_binaire = {}68 for element in dictionnaire.items():69 dico_binaire[element[0]] = (int(element[1], 2), len(element[1]))70 return dico_binaire71 def ajouter_texte(self, fichier):72 texte = open(fichier, "r")73 variable_texte = texte.read()74 return variable_texte75 def coder_texte(self, fichier):76 texte = self.ajouter_texte(fichier)77 self.table_frequences(texte)78 self.table_frequences_rangee()79 self.Construire_arbre(self.tab_frq[0][0], self.tab_frq[1][0])80 self.Coder_pseudo_binaire(self.arbre.racine)81 dico_trie = self.Coder_binaire(self.dict_bin)82 # on écrit dans le fichier texte avec des vrais nombres83 texte_code = ""84 for x in texte:85 ajout = dico_trie.get(x)86 passage = bin(ajout[0])87 for deux in range(2):88 passage = passage[1:]89 texte_code += passage90 texte_code = int(texte_code)91 f = open("textecoder.txt", "w+")92 f.truncate(0) # on efface le contenu du fichier, au cas où il y a déjà des choses dedans93 f.write("%d" % texte_code) # c'est du texte, mais la variable texte_code94 # reste compressé95 self.texte_coder += int(texte_code)96 return texte_code97 def Coder_texte(self,str):98 texte = self.ajouter_texte(str)99 self.table_frequences(texte)100 self.table_frequences_rangee()101 self.Construire_arbre(self.tab_frq[0][0], self.tab_frq[1][0])102 self.Coder_pseudo_binaire(self.arbre.racine)103 dico_trie = self.Coder_binaire(self.dict_bin)104 codage_binaire = self.dict_bin[str[0]][0]105 self.first_car = self.dict_bin[str[0]]106 for car in range(1,len(str)):107 codage_binaire = codage_binaire << len(bin(self.dict_bin[str[car]][0]))-2108 codage_binaire = codage_binaire | self.dict_bin[str[car]][0]109 return bin(codage_binaire)110 def decoder_texte(self, fichiercoder):111 f = fichiercoder112 arbre_decode = self.arbre113 noeud = arbre_decode.racine114 texte_decoder = ""115 listetravail = [int(x) for x in str(f)]116 for x in listetravail:117 if x == 0:118 noeud = noeud.fgauche119 if noeud.contenu is not None:120 if noeud.est_feuille:121 texte_decoder += noeud.contenu122 noeud = arbre_decode.racine123 elif x == 1:124 noeud = noeud.fdroit125 if noeud.contenu is not None:126 if noeud.est_feuille:127 texte_decoder += noeud.contenu128 noeud = arbre_decode.racine129 return texte_decoder130 def valeur_compression(self, fichier="texte.txt"):131 f = open(fichier, "r")132 poids_decode = len(f.read()) # en octets133 poids_code = len(str(self.texte_coder))//8 # en octets134 print(poids_code, " VS ", poids_decode)135 print("la valeur de compression est de ", (poids_code/poids_decode)*100, "%")136 return poids_code/poids_decode*100137if __name__ == "__main__":138 # ch = Compression_Huffman()139 # dict = ch.table_frequences("eeaaaapppppddd")140 # print(dict)141 # print(ch.table_frequences_rangee())142 # ch.Construire_arbre(ch.tab_frq[0][0], ch.tab_frq[1][0])143 # ch.arbre.Parcours_largeur(ch.arbre.racine)144 # print(ch.arbre.racine.fgauche.contenu)145 # print(ch.Coder_pseudo_binaire(ch.arbre.racine))146 # print("vrai binaire :")147 # print(ch.Coder_binaire(ch.dict_bin))148 # fichier_texte = ch.ajouter_texte("texte.txt")149 # print(fichier_texte)150 hu = Compression_Huffman()151 print(hu.coder_texte("texte.txt"))152 txtcode = hu.texte_coder153 # f = open("textecoder.txt", "r")154 # print("longueur texte", len(f.read()))155 # print(type(txtcode))156 print("=======décoder========")157 print(hu.decoder_texte(hu.texte_coder))158 print("=======valeur de compression=======")...
bonus.py
Source:bonus.py
...19 jeu.pomme = jeu.position_aleatoire_pomme()20 # (B3) Création d'une variable de perte21 jeu.serpent.vivant = True22 # (B3) Ajout du texte pour relancer la partie23 jeu.ajouter_texte("Nouvelle Partie", "Pour rejouer, appuyez sur ESPACE")24 # Donne une direction par défaut au serpent25 jeu.direction_serpent = jeu.serpent.DIRECTIONS.STOP26 # Déclaration du cactus27 jeu.ajouter_image("Cactus", "images/cactus.png")28 # Déclaration de la pomme29 jeu.ajouter_image("Pomme", "images/pomme.png")30 # Ajout du corps31 jeu.ajouter_image("Corps", "images/corps.png")32 # Ajout de la queue33 jeu.ajouter_image("Queue", "images/queue.png")34 # Ajout de la tête35 jeu.ajouter_image("Tête", "images/tete.png")36 # (B4) Ajout de l'image de rotation37 jeu.ajouter_image("Coin", "images/coin.png")38 # Ajout de l'asset spécial qui sera automatiquement mis en fond39 jeu.ajouter_image("fond", "images/fond.png")40# Fonction executée regulièrement41def boucle(jeu):42 # Fermeture du jeu lors de l'appui de la croix43 if Evenements.QUITTER in jeu.evenements:44 jeu.quitter()45 # Lorsqu'une touche est appuyée46 if Evenements.TOUCHE_APPUYEE in jeu.evenements:47 # On stocke la touche appuyée48 touche = jeu.evenements[Evenements.TOUCHE_APPUYEE]49 # ...on vérifie la direction droite...50 # (B1) On vérifie aussi que le serpent n'aille pas déjà à gauche51 if touche == Touches.FLECHE_DROITE and jeu.direction_serpent != jeu.serpent.DIRECTIONS.GAUCHE:52 jeu.direction_serpent = jeu.serpent.DIRECTIONS.DROITE53 # ...et les autres directions.54 # (B1) De même pour les autres directions55 elif touche == Touches.FLECHE_HAUT and jeu.direction_serpent != jeu.serpent.DIRECTIONS.BAS:56 jeu.direction_serpent = jeu.serpent.DIRECTIONS.HAUT57 elif touche == Touches.FLECHE_BAS and jeu.direction_serpent != jeu.serpent.DIRECTIONS.HAUT:58 jeu.direction_serpent = jeu.serpent.DIRECTIONS.BAS59 elif touche == Touches.FLECHE_GAUCHE and jeu.direction_serpent != jeu.serpent.DIRECTIONS.DROITE:60 jeu.direction_serpent = jeu.serpent.DIRECTIONS.GAUCHE61 # (B3) Si l'on appuie sur espace quand le serpent est mort62 elif touche == Touches.ESPACE and not jeu.serpent.vivant:63 # (B3) Création d'un nouveau serpent (écrase le précédent)64 jeu.serpent = Serpent()65 # (B3) Le serpent est vivant et à l'arrêt66 jeu.serpent.vivant = True67 jeu.direction_serpent = jeu.serpent.DIRECTIONS.STOP68 # Si il y a collision entre la pomme et la tête du serpent69 if jeu.collision(jeu.serpent.position_tete, jeu.pomme.position):70 # Le serpent grandit71 jeu.serpent.grandir()72 # La pomme change de position73 jeu.pomme = jeu.position_aleatoire_pomme()74 # Effacement de l'écran, et remplissage avec les tiles de fond75 jeu.effacer_ecran()76 # Déclaration d'une variable contenant la taille du serpent77 taille = jeu.serpent.taille78 # (B2) Ajoute le texte de score et le dessine79 jeu.ajouter_texte("Score", "Score : " + str(taille - 3))80 # (B3) Change la position du score si l'écran "Rejouer" est affiché81 if jeu.serpent.vivant:82 jeu.dessiner("Score", { "position": (36, 36) })83 else:84 jeu.dessiner("Score", { "position": (260, 150) })85 # (B3) Ajoute le message pour rejouer86 jeu.dessiner("Nouvelle Partie", { "position": (50, 200) })87 # Itération sur tous les morceaux de grille88 for carreau in jeu.grille():89 # Si l'on est sur un côté...90 if jeu.est_un_bord(carreau):91 # ...dessine un cactus92 jeu.dessiner("Cactus", { "position": carreau })93 # Si le coin est en contact avec la tête du serpent...
kPPV.py
Source:kPPV.py
...29 for i in range(len(tailles_classes)):30 if tailles_classes[i] > tailles_classes[indice_max]:31 indice_max = i32 return indice_max33 def ajouter_texte(self, nombre_voisins, texte):34 """Attribue le texte donné en entrée"""35 kppv_list = self.k_plus_proches_voisins(self.liste_textes_tuples, nombre_voisins, texte)36 self.liste_textes_tuples += [[texte, self.classe_majoritaire(kppv_list)]]37 def classifier(self, training_set, eval_set):38 # format d'entrée : training_set contient les textes déjà classés, et eval_set contient les textes à classifier39 self.k = min(len(training_set),9) # Initialisation du nombre de voisins, à adapter si besoin40 self.liste_textes = training_set + eval_set41 self.training_set = training_set42 self.eval_set = eval_set43 self.p = None44 self.p_ref = None45 self.classification = None46 # Initialisation de classes_auteurs, clusters et liste_textes_tuples47 self.classes_auteurs = {} # auteurs_classes[auteur de la classe] = numero_classe48 self.clusters = []49 for texte in self.training_set:50 if not texte.auteur in self.classes_auteurs.keys():51 self.classes_auteurs[texte.auteur] = len(self.classes_auteurs)52 self.clusters.append([texte])53 else:54 self.clusters[self.classes_auteurs[texte.auteur]].append(texte)55 self.liste_textes_tuples = [] # liste de tuples (texte, classe)56 for i in range(len(self.clusters)):57 self.liste_textes_tuples += [[texte,i] for texte in self.clusters[i]]58 # Classification des textes de eval_set59 for texte in eval_set:60 self.ajouter_texte(self.k, texte)61 # Actualisation de self.clusters62 self.clusters = [[] for i in range(len(self.clusters))]63 for tuple in self.liste_textes_tuples:64 self.clusters[tuple[1]].append(tuple[0])65 # On constitue la liste des auteurs => sert à construire p_ref66 self.auteurs = []67 self.auteurs_inverses = {}68 for texte in training_set:69 if texte.auteur not in self.auteurs:70 self.auteurs.append(texte.auteur)71 self.auteurs_inverses[texte.auteur] = len(self.auteurs) - 172 # Création de p et de p_ref73 self.p = np.zeros([len(self.liste_textes_tuples), len(self.clusters)])74 self.p_ref = np.zeros([len(self.liste_textes_tuples), len(self.clusters)])...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!