Ep 22
ⶠTélécharger le sujet en pdf.
EXERCICE 1âïž
On rappelle que :
- le nombre \(a^n\) est le nombre \(a \times a \times a \times \dots \times a\), oĂč le facteur \(a\) apparaĂźt \(n\) fois,
- en langage Python, lâinstruction
t[-1]
permet dâaccĂ©der au dernier Ă©lĂ©ment du tableaut
.
Dans cet exercice, lâopĂ©rateur **
et la fonction pow
ne sont pas autorisés.
Programmer en langage Python une fonction liste_puissances
qui prend en argument un nombre entier a
, un entier strictement positif n
et qui renvoie la liste de ses puissances
\(\rm{[a^1, a^2, ..., a^n]}\).
Programmer Ă©galement une fonction liste_puisssances_borne
qui prend en argument un nombre entier a
supérieur ou égal à 2 et un entier borne
, et qui renvoie la liste de ses puissances, Ă lâexclusion de \(\rm{a^0}\), strictement infĂ©rieures Ă borne
.
Exemples :
>>> liste_puissances(3, 5)
[3, 9, 27, 81, 243]
>>> liste_puissances(-2, 4)
[-2, 4, -8, 16]
>>> liste_puissances_borne(2, 16)
[2, 4, 8]
>>> liste_puissances_borne(2, 17)
[2, 4, 8, 16]
>>> liste_puissances_borne(5, 5)
[]
RĂ©ponse
Complétez le code ci-dessous
Solution
EXERCICE 2âïž
On affecte Ă chaque lettre de l'alphabet un code selon le tableau ci-dessous :
A | B | C | D | E | F | G | H | I | J | K | L | M |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
Pour un mot donnĂ©, on dĂ©termine dâune part son code alphabĂ©tique concatĂ©nĂ©, obtenu par la juxtaposition des codes de chacun de ses caractĂšres, et dâautre part, son code additionnĂ©, qui est la somme des codes de chacun de ses caractĂšres.
Par ailleurs, on dit que ce mot est « parfait » si le code additionné divise le code concaténé.
Exemples :
-
Pour le mot
"PAUL"
, le code concaténé est la chaßne'1612112'
, soit lâentier 1 612 112. Son code additionnĂ© est lâentier 50 car 16 + 1 + 21 + 12 = 50. 50 ne divise pas lâentier 1 612 112 ; par consĂ©quent, le mot"PAUL"
nâest pas parfait. -
Pour le mot
"ALAIN"
, le code concaténé est la chaßne'1121914'
, soit lâentier 1 121 914. Le code additionnĂ© est lâentier 37 car 1 + 12 + 1 + 9 + 14 = 37. 37 divise lâentier 1 121 914 ; par consĂ©quent, le mot"ALAIN"
est parfait.
Compléter la fonction est_parfait
ci-dessous qui prend comme argument une chaĂźne de caractĂšres mot
(en lettres majuscules) et qui renvoie le code alphabétique concaténé, le code additionné de mot
, ainsi quâun boolĂ©en qui indique si mot
est parfait ou pas.
RĂ©ponse
Complétez le code ci-dessous
Solution
Exemple :
>>> est_parfait("PAUL")
(50, 1612112, False)
>>> est_parfait("ALAIN")
(37, 1121914, True)