Skip to content

Instantly share code, notes, and snippets.

@mather
Last active July 18, 2019 07:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mather/9e862feac8329e8793b6d8f6e9ce0bb5 to your computer and use it in GitHub Desktop.
Save mather/9e862feac8329e8793b6d8f6e9ce0bb5 to your computer and use it in GitHub Desktop.
課題

準備

fizzbuzz.py の内容をコピーしてローカルに保存し、以下のコマンドで実行可能であることを確認しましょう。

$ python fizzbuzz.py

課題

  • print を一行のみ(または一度だけ)使うように変更しましょう
  • elif, else を使わないように変更しましょう
  • iffor がネストして関数内のインデントが複数にならないように変更しましょう
  • 変数に適切な名前を設定しましょう。 周りの人に読んでもらって理解しやすいか確認しましょう。

Extra

上記に加えて以下のような課題が解決できるでしょうか。

  • buzzbazz に変えたいというリクエストに対して、修正箇所を一箇所にするにはどのような工夫ができるでしょうか。
  • 7で割り切れる時 dazz を追加するように変更してください (ex: 7 -> "dazz", 35 -> "buzzdazz")
  • 以下のように出力を変えてみてください。
  1 -> 1
  2 -> 2
  3 -> fizz
  ...
 45 -> fizzbuzz
  ...
100 -> buzz
class FizzBuzz:
"""
FizzBuzzを判定するクラス
- 3で割り切れるときは "fizz"
- 5で割り切れるときは "buzz"
- 15で割り切れるときは "fizzbuzz"
- 上記全てに当てはまらない場合は数をそのまま出力する
"""
def __init__(self, n):
self.n = n
def out(self):
if self.n % 3 == 0:
if self.n % 5 == 0:
print("fizzbuzz")
else:
print("fizz")
elif self.n % 5 == 0:
print("buzz")
else:
print(self.n)
def main():
for n in range(1, 101):
fb = FizzBuzz(n)
fb.out()
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment