teaching:progappchim:notions_fondamentales

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
teaching:progappchim:notions_fondamentales [2022/05/02 09:39] villersdteaching:progappchim:notions_fondamentales [2022/06/27 15:16] – [Passage d'arguments par tuples et dictionnaires] villersd
Ligne 206: Ligne 206:
 </code> </code>
  
-=== Applications à la détection de palindromes et anagrammes ===+=== Applications à la détection de palindromesanagrammes et pangrammes ===
  
  
Ligne 270: Ligne 270:
 # de la fonction de vérification de palindromes pour détecter une anagramme. # de la fonction de vérification de palindromes pour détecter une anagramme.
  
 +</code>
 +
 +<code python  string_pangrammes-01.py>
 +#!/usr/bin/env python3
 +# -*- coding: utf-8 -*-
 +"""
 +Created on Mon May  9 11:54:40 2022
 +
 +@author: villersd
 +
 +Test d'une chaîne pour connaître le nombre de lettres de l'apahabet utilisées
 +et si elles le sont toutes (pangramme).
 +ref : https://fr.wikipedia.org/wiki/Pangramme
 +
 +"""
 +import string
 +print('ASCII letters : ', string.ascii_lowercase)
 +
 +# test string :
 +ts = "Portez ce vieux whisky au juge blond qui fume"
 +
 +# dict count strategy
 +letter_count_dict = dict( (key, ts.lower().count(key)) for key in string.ascii_lowercase )
 +print(letter_count_dict)
 +
 +# list count strategy
 +letter_count_list = [ts.lower().count(key) for key in string.ascii_lowercase]
 +print(letter_count_list)
 +
 +# using all()
 +print(all(letter_count_list))
 +
 +# one-liner : 
 +print(all([ts.lower().count(key) for key in string.ascii_lowercase]))
 +print("All ASCII letters : ", all(["Portez ce vieux whisky au juge blond qui fume".lower().count(key) for key in string.ascii_lowercase]))
 </code> </code>
  
Ligne 582: Ligne 617:
   * Les arguments d'une fonction peuvent être transmis via un tuple en préfixant le nom du tuple par le symbole * (on utilise en général l'identifiant "*args" pour le tuple)   * Les arguments d'une fonction peuvent être transmis via un tuple en préfixant le nom du tuple par le symbole * (on utilise en général l'identifiant "*args" pour le tuple)
   * Les arguments d'une fonction peuvent être transmis via un dictionnaire dont les clés correspondent aux arguments nommés dans la définition de la fonction, en préfixant le nom du dictionnaire par les %%**%% (on utilise en général l'identifiant "%%**%%kwargs" pour le dictionnaire)   * Les arguments d'une fonction peuvent être transmis via un dictionnaire dont les clés correspondent aux arguments nommés dans la définition de la fonction, en préfixant le nom du dictionnaire par les %%**%% (on utilise en général l'identifiant "%%**%%kwargs" pour le dictionnaire)
 +  * cf. [[https://towardsdatascience.com/args-kwargs-python-d9c71b220970|*args and **kwargs in Python - Discussing the difference between positional and keyword arguments and how to use *args and **kwargs in Python]] Giorgos Myrianthous, Towards Data Science, Jun 22 2022
  
 === Passage par tuple === === Passage par tuple ===
  • teaching/progappchim/notions_fondamentales.txt
  • Dernière modification : 2023/05/03 08:39
  • de villersd