愛媛県宇和島市のパソコン、プログラミング教室「みんなのパソコン教室宇和島本校」代表の松井です
今どきの小中高校生は知らないと思いますが、15年以上前に『3の倍数と3が付く数字の時だけアホになります』というネタがはやりました。
これは、「FizzBuzz」という言葉遊びがもとになっているんです。
プログラミングの世界でもFizzBuzzがアルゴリズム・プログラミングの基礎問題として出題されます。
『3の倍数と3が付く数字の時だけアホになります』をPythonで実装してみましょう
1~100までの数字を出力する
1~100までの数字で考えます。
単純に1~100までの数字を出力するのは
for i in range(1,101):
print(i)
だけです。
3の倍数だったらという条件を加える
これに3の倍数だったら『awe』と表示するを加えましょう。
for i in range(1,101):
if i % 3 == 0:
print("awe")
else:
print(i)
if i % 3 ==0という箇所がもし3で割った余りが0だったらという意味になります。3で割り切れる。すなわち3の倍数という意味になります。
3のつく数字だったらという条件を加える
さらに3のつく数字という条件を付け加えます。
for i in range(1,101):
if i % 3 == 0 or "3" in str(i):
print("awe",end=",")
else:
print(i,end=",")
“3” in str(i)という箇所は、変数iの中に3という文字が含まれるならという意味になります。数値をカンマで区切る記述も入れました。
これで出力結果は次のようになります。
1,2,awe,4,5,awe,7,8,awe,10,11,awe,awe,14,awe,16,17,awe,19,20,awe,22,awe,awe,25,26,awe,28,29,awe,awe,awe,awe,awe,awe,awe,awe,awe,awe,40,41,awe,・・・
Pythonの細かい文法の説明は省略しますが、プログラミング、アルゴリズムの基本として、学校の授業「情報1」やコンピュータ関連の資格取得にも役立つと思います。
チャレンジしてみてください。
Pythonの基本的な文法、プログラミングの環境構築に関して、お気軽に教室までお問い合わせください。