Outils pour utilisateurs

Outils du site


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]
villersd créée
teaching: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 par villersd