メリークリスマス!!
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★★★★★
★★★★★★★★★★★★★
★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★
★★★★★★★★★★★★★
★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★
★★★★★★★★★★★★★
★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
■
■
■
■
■
WWWWWWWWWWWWWWW メリークリスマス!! WWWWWWWWWWWWWWW
コード
# ツリーのパラメータ定義
top = 15 # 1段目の高さ
others = 10 # 2段目以降の高さ
step = 3 # 段の数
tree = 5 # ツリーの根の■の数
# 一番上の部分を作る
for i in range(1, top + 1):
space_num = top - i
start_num = 2 * i -1
for j in range(space_num):
print(" ",end="")
for j in range(start_num):
print("★",end="")
print()
# 二段目以降の部分を作る
for k in range(1, step):
for i in range(top + 1 - others, top + 1):
space_num = top - i
start_num = 2 * i - 1
for j in range(space_num):
print(" ",end="")
for j in range(start_num):
print("★",end="")
print()
# ツリーの根の部分を作る
for i in range(tree):
for j in range(2 * top - 2):
print(" ",end = "")
print("■")
# メッセージ表示
print("WWWWWWWWWWWWWWW メリークリスマス!! WWWWWWWWWWWWWWW")
きっかけ
先日、Qiitaでも著名で自然言語処理の第一人者、かつ**「今シンガポールにいますLineBot」、「てきとりす」など数々のクソアプリも開発している@youwhtさんが「コピペで簡単実行!キテレツおもしろ自然言語処理 PythonとColaboratoryで身につく基礎の基礎」**を出版されました。
私も早速この本を購入し、**自分でもなんかやってみよう!**と思い、この記事を書くに至りました。
こちらの書籍の第1章に、1行で愛を作るコードが書かれています。
print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0else' ') for x in range(-30, 30)]) for y in range(15, -15, -1)]))
私の場合、1行とは行きませんでしたが、この書籍の「はじめに」に書かれている
映画に出てくるスーパーハッカーは、黒と緑の画面を見つめながら「よーしいい子だ」「ビンゴ!」とかやっていますがあれはフィクションです。実際のプログラマーの多くは、Google検索や過去に書いたコードからサンプルをコピペしてちょっと書き換える、という作業をしています。
と同様に、ググって見つけたコードを自分なりに改変してクリスマスツリーを完成させました。
(なのでコードに関してはいろいろツッコミどころがあると思いますが・・)
Google Colaboratoryを使ってみる
**Google Colaboratory**を使えば、ブラウザからクラウド上の環境を使ってPythonのコードを動かすことが可能です。
PCにPythonをインストールするなど環境構築をする必要ありません。Googleアカウントさえあればすぐに始められます。超絶便利で、しかも無料です。
上記にアクセスしたら、まず「ノートブックを新規作成」をクリックします。
Googleアカウントでログインしてない場合は、ここでログインが求められます。
すると下記のように、コードを書くことができる画面が出てきました
ここで、冒頭で紹介したクリスマスツリーを描くコードをコピペします。
そして左にある実行ボタンをクリックします。
(画面を開いて最初に実行する際は、バックグラウンドでサーバを起動しているため5~10秒程度待たされます。2回目からは一瞬で実行できます。)
すると出力結果が出てきました。
なお、コードの冒頭で定義しているパラメータの数字を少しイジるとツリーの形が変わります。
こんな感じで簡単に使うことができます。
私の過去の記事**「機械学習初心者がテレビゲームの売上データセットを使って回帰モデル・分類モデルを作成してみた」**でも、Google Colaboratoryを使っています。
さいごに
ということで、**KDDI Engineer&Designer Advent Calendar 2021**の24日目、クリスマスイブにちなんだ投稿でした。