teaching:progappchim:fizz_buzz

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

teaching:progappchim:fizz_buzz [2017/02/28 14:23] – créée villersdteaching:progappchim:fizz_buzz [2017/02/28 14:35] (Version actuelle) villersd
Ligne 2: Ligne 2:
 [[wp>Fizz_buzz|Fizz buzz]] est un jeu de comptage et de divisibilité conçu pour des enfants. Les joueurs comptent à tour de rôle en incrémentant, partant de 1, et remplaçant chaque nombre divisible par 3 par le mot "fizz", et chaque mot divisible par 5 par le mot "buzz". [[wp>Fizz_buzz|Fizz buzz]] est un jeu de comptage et de divisibilité conçu pour des enfants. Les joueurs comptent à tour de rôle en incrémentant, partant de 1, et remplaçant chaque nombre divisible par 3 par le mot "fizz", et chaque mot divisible par 5 par le mot "buzz".
  
-Énoncé informatique classique : [[https://www.codeeval.com/browse/1/]]+Énoncé informatique classique : [[https://www.codeeval.com/browse/1/]]. Il s'agit du premier des problèmes dans la catégorie "easy".
  
 Solution : Solution :
Ligne 24: Ligne 24:
     for i in range(1,N+1):     for i in range(1,N+1):
         if i % X == 0:         if i % X == 0:
-            c += 'F'+            c += 'fizz'
         if  i % Y == 0:         if  i % Y == 0:
-            c += 'B+            c += 'buzz
-        if i % X <> 0 and i % Y <> 0:+        if i % X != 0 and i % Y != 0:
             c += str(i)             c += str(i)
         c += " "         c += " "
Ligne 33: Ligne 33:
 </code> </code>
  
 +Pour adapter le code à la lecture sur le site CodeEval, il est nécessaire de lire différents triplets (nombres séparés par des espaces) dans des lignes successives d'un fichier et d'ajouter une structure répétitive pour traiter toutes ces lignes :
 +
 +<code python>
 +import sys
 +
 +if __name__=="__main__":
 +    fn = "easy-001-Fizz_Buzz-01.txt"
 +    with open(fn, 'r') as f:
 +        # read all lines using .read
 +        lis = f.read().strip().splitlines()
 +    for li in lis:
 +        v = li.split()
 +        X, Y, N = int(v[0]), int(v[1]), int(v[2])
 +        ...
 +</code>
  • teaching/progappchim/fizz_buzz.txt
  • Dernière modification : 2017/02/28 14:35
  • de villersd