15B: Les pompes Python

Les exercices 15A, 15B et 15C peuvent être fait dans n'importe quel ordre.

Dans cette leçon nous vous proposons des exercices de difficulté moyenne qui combinent les outils que nous avons vus dans les leçons précédentes.

Exercice de code : −40°C en hiver
Dans cette exercice, vous allez créer une convertisseur de température qui convertira des températures Fahrenheit en Celsius et vice-versa. Vous aurez besoin des formules suivantes qui lient la température f en Fahrenheit à la température c en Celsius:

\displaystyle{f = c \times \frac{9}{5} + 32}

\displaystyle{c = (f - 32)\times\frac{5}{9}.}

L'entrée consistera en un nombre de type float immédiatement suivi de la lettre F ou C, par exemple "13.2C". Vous convertirez et afficherez la température convertie au même format. Par exemple, si l'entré est "8F" la sortie sera (environ) "-13.333C" et si l'entrée est "12.5C" la sortie sera "54.5F".

Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Exercice de code : Vérification de numéro de carte de crédit
Vous avez été embauché par MeisterCard pour écrire une fonction qui vérifie si un numéro de carte de crédit est valide. Votre fonction check(S) prend une chaîne S en entrée. Tout d'abord, si la chaîne ne respecte pas le format "#### #### #### ####" où chaque # est un chiffre, la fonction retounera False. Sinon, si la somme des chiffres est divisible par 10 (une méthode "checksum"), alors la procédure retournera True, sinon elle retournera False. Par exemple, si S est la chaîne "9384 3495 3297 0123" alors, bien que le format soit correct, la somme des chiffres est 72 et donc le programme retournera False.
Entrez instructions de test comme print(mafonction("argument de test")) ci-dessous.

Dans l'exercice suivant, utilisez la méthode string.split(), qui supprime les espaces d'une chaîne et retourne une liste de mots qu'elle contient; et string.lower(), qui converte une chaîne en minuscules. par exemple,

  • "Diviser ces mots!".split() retourne la liste ["Diviser", "ces", "mots!"]
  • "MINIScules".lower() retourne "miniscules"

Note: split() accepte d'autres option pour séparer une chaîne différemment; voir la documentation.

Exercice de code : Analyse poétique
Un écrivain travaille sur son nouveau poème Turing et les Machines. Il vous a embauché pour déterminer le mot qui apparaît le plus souvent. Vous pouvez accéder aux lignes du poème en appelant input(). La dernière ligne contient les caractères ###. Toutes les lignes sont composées de mots séparés par des espaces; il n'y a pas de chiffres ou de ponctuation. Convertissez tous les mots en minuscules et affichez le mot qui apparaît le plus souvent (il n'y aura jamais plus d'un). Par exemple, si l'entrée est

Compter chaque mot avec soin
Avec Python la tache prend pas longue 
###
La sortie sera

avec
puisqu'il apparaît deux fois et que tous les autres mots apparaîssent une fois.

Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Supposons que vous avez n parfums de glace et que vous vouliez faire un sundae en utilisant exactement k de ces parfums. Combien de combinaisons différentes sont-elles possibles? Par exemple, si n=4 and k=2, il y a 6 possibilités:

(1) A et B, (2) A et C, (3) A et D, (4) B et C, (5) B et D, (6) C et D.

(par exemple ici les parfums sont Abricot, Banane, Chocolat, et Date).

De la même manière, si vous choisissez 2 personnes parmi 4 (Alain, Brice, Camille, Diane) pour constituer un comité, combien de manières différentes existe-t-il? La réponse est toujours 6. Dans le prochain problème tu vas calculer une forme générale de cette valeur.

Exercice de code : Le choix est le vôtre
Le nombre de combinaisons de k éléments sur une total de n éléments est égal à

\displaystyle{\frac{n}{k}\times\frac{n-1}{k-1}\times\cdots\times\frac{n-k+2}{2}\times\frac{n-k+1}{1}}

Ecrivez une fonction parmi(n, k) qui prend deux entiers n et k; nous garantissons n>k>0. La fonction doit retourner la valeur donnée par formule ci-dessus.

Entrez instructions de test comme print(mafonction("argument de test")) ci-dessous.

En mathématiques, le nombre que vous avez calculé dans l'exercice précédent est normalement écrit

\displaystyle{\binom{n}{k}}

et appelé "k parmi n." Il y a de nombreux faits intéressants à propos de ces valeurs comme

\displaystyle{\binom{n}{k} = \binom{n}{n-k}} et \displaystyle{\binom{n}{k} = \binom{n-1}{k} + \binom{n-1}{k-1}}

Ceci est la fin de notre session d'exercices; vous pouvez passer à la leçon suivante.