From 6b739709dfb0d65a3afd4043021b1ec1aa2f713f Mon Sep 17 00:00:00 2001 From: Florent Madelaine Date: Wed, 26 Oct 2022 11:21:06 +0200 Subject: [PATCH] fin rot13 --- python/2/6FausseCorrectionRot13.py | 57 ++++++++++++++++++++++++++++++ python/2Prog.md | 35 ++++++++++++------ 2 files changed, 82 insertions(+), 10 deletions(-) create mode 100755 python/2/6FausseCorrectionRot13.py diff --git a/python/2/6FausseCorrectionRot13.py b/python/2/6FausseCorrectionRot13.py new file mode 100755 index 0000000..b532726 --- /dev/null +++ b/python/2/6FausseCorrectionRot13.py @@ -0,0 +1,57 @@ +#! /usr/bin/python3 +# -*- coding: utf-8 -*- + +def carot13(c): + """ transforme le caractère c en un caractère rot13 de c i.e. 13 lettres plus loin""" + n=ord(c)-97 # transforme la lettre minuscule entre a et z en un entier entre 0 et 25 + m=(n+13)%26 # phase de César je tourne la roue (avec des nombres de 0 à 25) d'un demi tour + rotc=chr(m+97) # traduction en charactère entre a et z + return rotc + +def marot13(mot): + motEnRot="" + for c in mot: + # print("boucle : " + carot13(c)) + # motEnRot = motEnRot + carot13(c) + motEnRot += carot13(c) # Même chose que ligne précédente + return motEnRot + + +### En trichant. +def rot13(phrase): + phraseEnRot="" + for c in phrase: + if (c != ' '): + phraseEnRot += carot13(c) + else : + phraseEnRot += ' ' + return phraseEnRot + +# test +print("test rot13") +print("abcdefghijklmnopqrstuvwxyz") +print(marot13("abcdefghijklmnopqrstuvwxyz")) +print(marot13(marot13("abcdefghijklmnopqrstuvwxyz"))) + +p="the lazy dog jumped over the quick brown fox" + +print(rot13(p)) + +# Sans tricher. + +#L="the lazy dog jumped over the quick brown fox".split() +#L = p.split() #ou comme ceci puisque le message p est défini ci-dessus. +#"XX".join(L) +#'theXXlazyXXdogXXjumpedXXoverXXtheXXquickXXbrownXXfox' +#" ".join(L) +#'the lazy dog jumped over the quick brown fox' + +maListeDeMots=p.split() +maListeDeMotsEnRot13=[marot13(mot) for mot in maListeDeMots] +#print(maListeDeMotsEnRot13) +print(" ".join(maListeDeMotsEnRot13)) + +### En une seule fois. +MessageSecret="Having a lower tax, simpler, fairer, flatter tax system is something that can drive growth." +print(" ".join([marot13(mot) for mot in MessageSecret.split()])) + diff --git a/python/2Prog.md b/python/2Prog.md index 81cc674..601756f 100644 --- a/python/2Prog.md +++ b/python/2Prog.md @@ -26,14 +26,14 @@ La page wikipedia commence par beaucoup de jargon. Nous allons définir approximativement ces mots de jargon. -_ [interprété (vs compilé)](http://www.france-ioi.org/algo/course.php?idChapter=561&idCourse=2368) -_ impérative vs déclarative (au tableau) -_ structurée -_ multiplateforme -_ orientée objet -_ typage dynamique -_ ramasse-miettes -_ gestion d'exception +- [interprété (vs compilé)](http://www.france-ioi.org/algo/course.php?idChapter=561&idCourse=2368) +- impérative vs déclarative (au tableau) +- structurée +- multiplateforme +- orientée objet +- typage dynamique +- ramasse-miettes +- gestion d'exception ## Prise en main @@ -184,8 +184,8 @@ On peut ensuite appliquer la fonction inverse de ord qui s'appelle chr pour trou ### Fonction Pour structurer notre programme et le rendre plus lisible ce qui évite les bugs et permet aux autres programmeurs de comprendre notre intention on va découper notre code en petite unité élémentaires qui -_ prennent des paramètres en entrées -_ retourne (pas toujours) une valeur +- prennent des paramètres en entrées +- retourne (pas toujours) une valeur Ce sont les fonctions. Par défaut en python il est recommandé de documenter la fonction directement dans le code. @@ -259,3 +259,18 @@ On recommande d'utiliser l'élégat mécanisme de **liste en compréhension** po ```python [marot13(mot) for mot in maListeDeMots] ``` + +### Divers Python +Le tutoriel de W3 school contient les mots réservés de python. +[voir ici](https://www.w3schools.com/python/python_ref_keywords.asp) + +Plus généralement ce tutoriel donne des exemples simples et progressifs de plusieurs concepts. + +- [les variables](https://www.w3schools.com/python/python_variables.asp) +- [les boucles]() +- [les fonctions]() + + +```python ++= # +```