TD1 : Bienvenue en Python !

Objectifs

Bienvenue au premier TD ! Les TDs sont conçus pour vous permettre d'expérimenter avec Python et d'acquérir une expérience pratique du langage.

L'objectif principal de ce TD est de s'assurer que votre processus d'installation de Python s'est déroulé sans problème et qu'il n'y a pas de bugs Python 2/3 persistants.

Ce TD vous donne également la possibilité d'écrire ce qui pourrait être vos premiers programmes en Python, et vous permet d'expérimenter les scripts et l'interpréteur interactif !

Ces problèmes ne sont pas destinés à être des défis algorithmiques - juste des moyens de faire travailler Python 3. Même si les problèmes semblent simples, résolvez-les rapidement, et vous serez alors libre de partir.

Comme toujours, amusez-vous bien et profitez du période de cours !

Impression

Écrivez un programme en utilisant print() qui, lorsqu'il est exécuté, imprime un tableau tic-tac-toe.

  | |
--------
  | |
--------
  | |  

Conseil : vous pouvez trouver les arguments optionnels de print utiles. Vous pouvez les consulter ici

Impression #2 (défi)

Écrivez un programme qui, lorsqu'il est lancé, imprime un SUPER tableau de tic-tac-toe.

  |  |  H  |  |  H  |  |  
--+--+--H--+--+--H--+--+--
  |  |  H  |  |  H  |  |  
--+--+--H--+--+--H--+--+--
  |  |  H  |  |  H  |  |  
========+========+========
  |  |  H  |  |  H  |  |  
--+--+--H--+--+--H--+--+--
  |  |  H  |  |  H  |  |  
--+--+--H--+--+--H--+--+--
  |  |  H  |  |  H  |  |  
========+========+========
  |  |  H  |  |  H  |  |  
--+--+--H--+--+--H--+--+--
  |  |  H  |  |  H  |  |  
--+--+--H--+--+--H--+--+--
  |  |  H  |  |  H  |  |  
========+========+========

Vous constaterez qu'il y a peut-être de nombreuses façons de résoudre ce problème. Selon vous, quelle est la plus "pythique" ? Parlez à votre voisin de votre approche de ce problème. Souvenez-vous du Zen de Python !

Les multiples !

Si nous listons tous les nombres naturels inférieurs à 41 qui sont un multiple de 3 ou 5, nous obtenons

 3, 5, 6, 9, 10, 12, 15,
18, 20, 21, 24, 25, 27, 30,
33, 35, 36, 39, 40

La somme de ces chiffres est de 408.

Trouvez la somme de tous les multiples de 3 ou 5 en dessous de 1001.

Séquence Collatz

La séquence Collatz est une séquence itérative définie sur les entiers positifs par :

n -> n / 2 si n est pair
n -> 3n + 1 si n est impair

Par exemple, en utilisant la règle ci-dessus et en commençant par 13, on obtient la séquence :

13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1

On peut voir que cette séquence (commençant à 13 et finissant à 1) contient 10 termes. Bien qu'elle n'ait pas été prouvée, elle suppose que tous les numéros de départ se terminent à 1.

Quelle est la longueur de la plus longue chaîne dont le numéro de départ est inférieur à 1000 ?

NOTE : Une fois que la chaîne commence, les termes sont autorisés à dépasser 1000.

Séquence Collatz (défi à la maison) :

Même question, mais pour tout nombre de départ inférieur à 1 000 000 (vous devrez peut-être mettre en œuvre un algorithme plus intelligent que naïf)

Convertisseur Fahrenheit-Celsius

Écrivez un programme pour convertir les degrés Fahrenheit en degrés Celcius en (1) demandant à l'utilisateur un nombre (pas nécessairement intégral) représentant la température actuelle en degrés Fahrenheit, (2) en convertissant cette valeur en degrés Celsius équivalents, et (3) en imprimant la valeur équivalente finale.

Par exemple, votre programme devrait être capable d'émuler l'exemple d'exécution suivant :

Température F ? 212
Il fait 100,0 degrés Celsius.

Température F ? 98.6
Elle est de 37,0 degrés Celsius.

Température F ? 10
Il fait -12,222222222222221 degrés Celsius.

Vous voulez être plus élégant (défi) ? Essayez d'imprimer la température finale à deux décimales près. *Conseil : consultez la fonction round(). Python n'est-il pas génial ?

Fait en avance ?

Consultez le Python's Style Guide, en gardant à l'esprit le zen du python. N'hésitez pas à sauter les parties du guide de style qui couvrent des sujets que nous n'avons pas encore abordés dans ce cours, mais il est toujours bon de commencer par un aperçu du bon style.