% !TeX document-id = {fc3853a9-0c9c-4d02-b763-6dc6c85d34db} % !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] \documentclass[french,a4paper,10pt]{article} \def\PLver{2.7.3} \usepackage[margin=1.5cm]{geometry} \usepackage{ProfLycee} \useproflyclib{piton} \usepackage[executable=python,ignoreerrors]{pyluatex} \usepackage{babel} \sisetup{locale=FR,output-decimal-marker={,},group-minimum-digits=4} \usepackage{codehigh} %\usepackage[most]{tcolorbox} %\newtcblisting{ShowCodeTeX}[1][]{colback=white,colframe=red!75!black,listing options={style=tcblatex},#1} \begin{document} \part*{ProfLycee (\PLver), Piton et Pyluatex} \section{Code \og Piton \fg{}, indépendant de Pyluatex} \subsection{Préambule basique} {\small \begin{codehigh} \documentclass[french,a4paper,10pt]{article} \usepackage{ProfLycee} \useproflyclib{piton} % lua \end{codehigh}} \subsection{Exemples} {\small \begin{codehigh} %Sortie par défaut \begin{CodePiton}{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \end{codehigh}} \begin{CodePiton}{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} {\small \begin{codehigh} %Sortie avec Style=Classique, Largeur=10cm \begin{CodePiton}[Style=Classique,Largeur=10cm]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \end{codehigh}} \begin{CodePiton}[Style=Classique,Largeur=10cm]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \pagebreak {\small \begin{codehigh} %Sortie avec Style=Classique, Sans Titre, Largeur=10cm, centré \begin{CodePiton}[Style=Classique,Largeur=10cm,BarreTitre=false,Alignement=center]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \end{codehigh}} \begin{CodePiton}[Style=Classique,Largeur=10cm,BarreTitre=false,Alignement=center]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} {\small \begin{codehigh} %Sortie avec Style=Classique, Largeur=0.5\linewidth, aligné à droite, sans Cadre, avec Filigrane \begin{CodePiton}% [Style=Classique,Largeur=0.5\linewidth,Cadre=false,Alignement=flush right,Filigrane,Titre={Script}]{} #environnement piton avec numéros de ligne, pleine largeur, style moderne def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \end{codehigh}} \begin{CodePiton}[Style=Classique,Largeur=0.5\linewidth,Cadre=false,Alignement=flush right,Filigrane,Titre={Script}]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} {\small \begin{codehigh} %Sortie Moderne, Largeur=11cm, avec Filigrane, aligné à gauche, sans ligne \begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left,Lignes=false]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \end{codehigh}} \begin{CodePiton}[Largeur=11cm,Filigrane,Alignement=flush left,Lignes=false]{} def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{CodePiton} \pagebreak \section{Console \og Piton \fg{}, dépendant de Pyluatex} \subsection{Préambule, avec le package pyluatex} {\small \begin{codehigh} \documentclass[french,a4paper,10pt]{article} \usepackage{ProfLycee} \useproflyclib{piton} \usepackage[executable=python.exe]{pyluatex} % lua + shell-escape \end{codehigh}} \subsection{Commande} {\small \begin{codehigh} \begin{ConsolePiton}[Options piton]{Options tcbox} ... ... \end{ConsolePiton} \end{codehigh}} \medskip Les clés, à placer entre \texttt{<...>}, sont : \begin{itemize} \item \textbf{\textsf{$\langle$Logo$\rangle$}} pour afficher un petit logo dans les \textit{titres} de la console REPL ; \hfill{}défaut : \textbf{\textsf{$\langle$true$\rangle$}} \item \textbf{\textsf{$\langle$Largeur$\rangle$}} pour spécifier la largeur de la console REPL ; \hfill{}défaut : \textbf{\textsf{$\langle$\textbackslash{}linewidth$\rangle$}} \item \textbf{\textsf{$\langle$Alignement$\rangle$}} pour spécifier l'alignement de la console REPL.\hfill{}défaut : \textbf{\textsf{$\langle$flush left$\rangle$}} \end{itemize} \subsection{Exemples} {\small \begin{codehigh} %Déclaration d'une fonction python + librairie random pour utilisation ultérieure \begin{python} from random import randint def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{python} \end{codehigh}} \begin{python} from random import randint def valeur_absolue(x): "Renvoie la valeur absolue de x" #le petit test qui va bien if x > 0: return x else: return -x \end{python} {\small \begin{codehigh} \begin{ConsolePiton}{} 1+1 2**10 valeur_absolue(-3) valeur_absolue(0) valeur_absolue(5) print(f"La valeur absolue de 5 est {valeur_absolue(5)}") print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") \end{ConsolePiton} \end{codehigh}} \begin{ConsolePiton}{} 1+1 2**10 valeur_absolue(-3) valeur_absolue(0) valeur_absolue(5) print(f"La valeur absolue de 5 est {valeur_absolue(5)}") print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") \end{ConsolePiton} \pagebreak {\small \begin{codehigh} \begin{ConsolePiton}{} 1+1 2**10 valeur_absolue(-3) valeur_absolue(0) valeur_absolue(5) print(f"La valeur absolue de 5 est {valeur_absolue(5)}") print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") liste = [randint(1,20) for i in range(10)] print(liste) print(max(liste), min(liste), sum(liste)) \end{ConsolePiton} \end{codehigh}} \begin{ConsolePiton}{} 1+1 2**10 valeur_absolue(-3) valeur_absolue(0) valeur_absolue(5) print(f"La valeur absolue de 5 est {valeur_absolue(5)}") print(f"La valeur absolue de -4 est {valeur_absolue(-4)}") liste = [randint(1,20) for i in range(10)] print(liste) print(max(liste), min(liste), sum(liste)) \end{ConsolePiton} \end{document}