Devoir maison facultatif

Pour varier l'utilisation des juges en lignes, je vous propose Prologin.

En guise de devoir maison, je vous demande de faire des exercices parmi l'entraînement régional 2013 ; dans l'ordre, autant que vous pouvez.

Nouveau ; corrigé inclus

  1. La réponse à la question universelle
  2. QI
  3. XOR
  4. GATE OF STEINER
  5. Gravity
  6. Reverse Alchemying
  7. Échec et mat

Résolution

  1. Vous pouvez vous inscrire sur Prologin ; c'est RGPD compatible, et c'est très sérieux.
  2. Vous pouvez résoudre sur place les problèmes, ainsi vous saurez si vous avez réussi.
  3. Pour chaque problème résolu (ou tenté), faire une sauvegarde du script dans un fichier nommé problème_X.pyX sera un chiffre entre 1 et 7.

Rendu du travail

  1. Votre code sera noté sur sa réussite aux tests, mais aussi sur la qualité d'écriture.
  2. Dans le site collaboratif ATRIUM Term_NSI, déposer vos fichiers dans le casier DM prologin 2013.
  3. Les fichiers seront acceptés jusqu'au 29 novembre inclus.

Conseils de rédaction

Noms de variables

Il faut choisir de meilleurs noms de variables que ceux proposés dans l'énoncé.
Par exemple, le début du problème 8 (qui n'est pas à faire) ne serait pas :

P = int(input())
N, M = map(int,input().split())
for _ in range(M):
    a, b = map(int, input().split())
    #...

Mais plutôt :

# 1. lecture de l'entrée
nb_points_vie = int(input())
nb_salles, nb_portes = map(int, input().split())

for _ in range(nb_portes):
    salle_a, salle_b = map(int, input().split())
    #...

On autorisera pour seules abréviations :

On pourra omettre les articles :

On pourra utiliser :

Vos noms de variable doivent être très explicites.

Fonctions

Écrire des fonctions,

Inutile de faire une fonction main()

Commentaires

Écrire des commentaires avant une phase de votre programme. Comme

# 1. lecture de l'entrée
nb_points_vie = int(input())

Respect du PEP-8

Le PEP-8 devra être respectée le plus possible, sauf sur un point.

Pour les autres : rappel des bonnes pratiques.