Connaissez-vous FizzBuzz? J'ai honte de dire que le Seigneur ne connaissait même pas le mot FizzBuzz jusqu'à l'autre jour, ouais.
Donc, je voudrais résumer FizzBuzz après l'avoir examiné.
À l'origine un jeu de mots anglophone, il semble être un jeu dans lequel plusieurs joueurs prononcent des nombres dans l'ordre de 1 selon les conditions suivantes.
Exemple A「1」 B「2」 C「Fizz」 A「4」 B「Buzz」 ... A「13」 B「14」 C「FizzBuzz」
Eh bien, ça ressemble à ça.
Maintenant, implémentons-le simplement selon les règles sans penser à rien.
fizzbuzz.py
for num in range(1,101):
if num % 15 == 0:
print("FizzBuzz")
elif num % 3 == 0:
print("Fizz")
elif num % 5 == 0:
print("Buzz")
else:
print(num)
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Oui c'est fait. C'est très simple.
Ce serait pratique si nous pouvions modifier le nombre de divisions et les caractères à afficher.
fizzbuzz.py
div1, div2 = 4, 6
word1, word2 = "Nogi", "Zaka"
for num in range(1,101):
if num % div1 == 0:
if num % div2 == 0:
print(word1+word2)
else:
print(word1)
elif num % div2 == 0:
print(word2)
else:
print(num)
J'ai récemment appris la classe, donc je m'entraîne à utiliser la classe
python
class FizzBuzz:
def __init__(self, div, string):
self.div = div
self.string = string
def check(self,num):
if num % self.div == 0:
return self.string
else:
return ""
def main():
fizz = FizzBuzz(4, "Nogi")
buzz = FizzBuzz(6, "Zaka")
for num in range(1, 101):
result = fizz.check(num) + buzz.check(num)
if result == "":
print(num)
else:
print(result)
if __name__ == "__main__":
main()
1
2
3
Nogi
5
Zaka
7
Nogi
9
10
11
NogiZaka
13
14
15
Nogi
17
Zaka
19
Nogi
21
22
23
NogiZaka
C'est fait! Hourra Nogizaka!
Recommended Posts