【タピオカ基礎】Pythonでタピオカ作ってみた【文字列操作】

【タピオカ基礎】Pythonでタピオカ作ってみた【文字列操作】

はじめに

コジマです。

Twitter見てたら一部でタピオカが流行ってたので自分もその波に乗っかることにしました。
しかし私はまだ三流エンジニアの身…。
うかうかとタピオカ摂取していていいものかと。

私がタピオカを摂取している間に周りのエンジニアは成長している。。

そこで私は思いついた。
Pythonでタピオカを作ればいいんだ!と。

といっても簡単な内容ですが。。

仕様

仕様は以下の通り

  • 「タ」「ピ」「オ」「カ」からランダムに1文字取る
  • 取った文字をつなげていく
  • 「タピオカ」の文字列が現れたら終了
  • 最後にできあがった文字列を表示する

学べること

Pythonでタピオカを作ることで学べることは以下の内容。

  1. リストからランダムに要素を取得
  2. 無限ループ
  3. 文字列の連結
  4. 文字列のスライス
  5. 文字列の長さを取得
  6. 複数条件のif文

実装だよ

実装は以下の通り

実行結果はこんな感じ
例1
オオカタオタオタタタカオカオカタピオピカカカピオタカタタピオカ

例2
タオオタカカタカタタピオオオカピカオカタカピタオカタタピタカピカピオカピカオピピカカピオピオタピオタタカオオオピタピカオピタオカタタピオピオオタオピカタカタオタカピピピピピタオピオピピタカタオカカカタピオカ

と、最後にタピオカができたタイミングで終了します。

解説するよ

1.リストからランダムに要素を取得

リストからランダムに要素を取得したい場合はrandomモジュールのchoice関数を使います。

この場合はrd.choice(tapioca_list)とすることによってtapioca_listから要素を一つ取り出します。

すなわち「タ」「ピ」「オ」「カ」からランダムで1文字取得できるようになります。

2.無限ループ

While True:とすることで無限ループを実装することができます。

しかし、このまま何もしないでいると終わらなくなってしまうので、
条件を指定してbreakしてあげます。

この場合は

  • tapioca_strが4文字以上
  • tapioca_strの末尾4文字が「タピオカ」

の条件を満たした時に無限ループを終了します。

3.文字列の連結

文字列の連結は+=を指定してあげれば良いです。
数値のインクリメントをする感覚で文字列が後ろにポコポコくっつきます。

ここでは、タピオカが完成するまで「タ」「ピ」「オ」「カ」のいずかれの文字をつけ足し続けてます。

4.文字列のスライス

Pythonでは文字列を部分的に取得したい時にスライスという記法が使えます。
変数[始まり:終わり]と言う書き方をします。

始まりを指定しない場合は始点から。
終わりを指定しない場合は終点まで。

と言う意味合いになります。

この場合のtapioca_str[-4:]tapioca_strの-4文字目から終点までと言う意味になります。
すなわち末尾の4文字ということになります。

イメージ図を用意しました。
(無駄に凝ってしまった)

今回の実装ではtapioca_str[-4:]としたので、赤枠内のタピオカを取得できます。
そのほかにも

  • tapioca_str[1:4] #カピタ
  • tapioca_str[:2] #タカ
  • tapioca_str[-3:-1] #ピオ

こんな感じで各文字の隙間をナンバリングしてると思えばその間を見るだけでよくなります。
これ使えるようになると便利です。

5.文字列の長さを取得

len関数を使えば文字列の長さを取得することができます。
長さっていうのは何文字あるか?ってことです。

これを指定しておかないと先ほどのtapioca_strが4文字未満の時に-4文字目を取得しようとしても
できなくてエラーになっちゃうんでそれを回避するために使用しました。

6.複数条件のif文

Pythonで複数条件指定するときはandもしくはorを使用します。
今回は「かつ」の条件にしたかったのでandを使用しました。
「または」の条件を作りたいときはorを使用します。

さいごに

Pythonでタピオカを作りたくなって思い立ってやってしまった。
書きながら「俺は一体何やってるんだろう」とか思ったけど後悔はしてません。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


Pythonカテゴリの最新記事