Pythonに「はちかよ!」と言わせたかった
どうも、文系大卒です。
大学で履修できる電算科目の単位は全部無視してしまったので、プログラミングの知識は全くありません。
実家でシニア世代と同居しているため、相対的に見るとなんとなくパソコンが得意な感じになっているのですが、実際は全然そんなことはなく、ちょっと複雑なことをやるとなるともう必死です。がんばっています。
そんな私ですが、ある日、友人に薦められるままに、こちらの本を購入しました。
たのしいのか〜。
たのしいなら読むかな〜。
というわけで、「そもそもプログラミングとは?」「プログラミング言語とは?」「その中でPythonとは?」というレベルから、ぽちぽちと手を出しています。
なんせこちらには知識が全くありません。全くです。右も左もJavaもJavaScriptもわかりません。スクリプトだかスプリクトだかもよくわからないので、いま一応検索しました。合っていてよかったです。
というわけで、そのレベルの人がちょっとがんばってみた話です。
この本を薦めてくれた友人も、別にプログラミングをいま現在バリバリやっているというわけでもなく、むしろこれからそっち方面の仕事をしていくことに決まったという、それくらいのレベルです。のびしろコンビです。今後にご期待ください。
友人とともに「練習として何か作ってみたいよね」というぼんやりとした願望を持ちながら、私はこの本を少しずつ少しずつ読み進めています。
この「たのしいプログラミング Pythonではじめよう!」という本は、原題が「Python for Kids」、ずばり「子供のためのPython」です。確かに、少し読んでみると、内容に織り交ぜられた小粋なジョークはアメリカの子供向けのテイストで、これを日本人向けにどう訳すかはいろいろと議論があったそうです(訳者まえがきより)。
さあ、この超初心者向けの本を使って、私にいったい何ができるのでしょうか。
インストールから計算、変数、リスト、タプル…
全く知識のない人というのは、予期せぬ段階で突っかかるものです。この本はそんな人にも安心な仕様でした。Pythonのインストール方法を、懇切丁寧に教えてくれました。ここでダウンロードするんですよ〜、ここを押すと開きますよ〜、こうすれば保存できますよ〜…のように、さすが原題通り、子供にもわかるように説明されています。私も子供と足並みをそろえてPython最新版をインストールできました。最初に「Hello World」と表示してみるのはプログラミング界のお約束なんでしょうか。なんかこれは聞いたことあります。
その次は計算です。足し算、引き算、掛け算、割り算。さらにカッコの使い方。小学校の算数を思い出しました。ちょーかしこい電卓みたいなことができるんだなというのを体感しました。
そして変数。中学校の数学で言うところの、代入ですね。これによって文章問題なんかはほぼ文章そのままで計算できることがわかりました。ちょーちょーかしこい電卓ですね。
その後はリストやタプルなど、初めて触れる概念がつらつらと出てきましたが、自分でも意外なほどにつまずきませんでした。「for Kids」はダテじゃないんですね。
全て書いていくと長くなるのでさすがに割愛しますが、その後も順調に読み進めていくことができました。この本、最終的にはゲームを作るところまで行くみたいです。
つくったよ〜ん
そのあたりで、先程の友人と、最初に作ってみるもののビジョンが固まりました。日本語で説明してみます。
「整数を入力してください」と表示し、入力を要求
入力されたものが整数でない場合、「ばーか!」的なことを返し、要求を無限に繰り返す
8より大きい整数の場合、「でかすぎる」と返し、要求を無限に繰り返す
8より小さい整数の場合、「ちいさすぎる」と返し、要求を無限に繰り返す
8の場合、「はちかよ!」と返し、終了する
ザッツ無意味。
この無意味オブ無意味が、技術力の少ないわれわれにはとても難しいものでした。(入力を要求する「input」は友人に教えてもらいました)
「while」で繰り返せるところまでは理解したので、まだこの本には出てきていないけど他に必要そうな「関数」とやらを調べてみると、整数かどうかを判定してくれる「isdigit」や、文字列扱いの数字を数字に戻せる(?)「int」というのあたりを使えばよさそうだということがわかりました。(このへんのとんちんかんな言い回しはあたたかい目で見てください。超初心者なので。)
私が読み進めた範囲にはまだそんなのは出てきてないので、実にハイレベルですね…。
たぶん、整数じゃないときに「ばーか!」と言いたいなら「isdigit」は必須なのかなあ、あと、「8より大きい」などを表す不等号(>や<)は文字と数字の間に使えないよというエラーが出るのの対策には、入力された数字に「int」を使えばいいのかなあ…などなど考えました。紆余曲折です。
さらに「while」で繰り返されるところがどうしてもうまくいかず「はちかよ!はちかよ!はちかよ!はちかよ!はちかよ!はちかよ!」みたいになったり、8なのに「ちいさすぎる」「おおきすぎる」などと言われたり、整数じゃないものを入力したのに「はちかよ!」と言われたり、入力に対して無言で終了されたり、ひととおりの失敗はしました。1回目の要求への入力にはちゃんと答えてくれるのに2回目の要求への入力にはおかしい反応をするなど、思った通りに動いてくれなくて、困っちゃいました。
そして、アホみたいな時間をかけて、ついにそのプログラムが完成しました。
x = input('好きな整数を入力してください:')
while x != 8:
if x.isdigit() == False:
print('整数じゃないじゃんおばか!!')
x = input('好きな整数を入力してください:')
elif int(x) > 8:
print('でかすぎる〜〜')
x = input('好きな整数を入力してください:')
elif int(x) < 8:
print('ちいさすぎる〜〜')
x = input('好きな整数を入力してください:')
else:
break
print('はちかよ!')
とりあえずこれでちゃんと動きました。技術力ゼロながらもここまでがんばりました。
もっとスマートなやり方があったらぜひ教えてください。else:breakはいらない気もします。
これを長時間考えたのもやはりなんとなくいい経験になったような気はしており、正直ちょっとモチベーションが上がりました。思ったように動いてくれたらうれしいですね。もうちょっと何か作れたらいいな、と、思いました。
(※この記事の用語の間違いなどは大目に見てください。なぜなら知識がほぼゼロなので。)
- 作者: Jason R.Briggs,磯蘭水,藤永奈保子,鈴木悠
- 出版社/メーカー: オーム社
- 発売日: 2014/02/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
梱包ガッチガチ問題
こんばんは。ところで、梱包って大事ですよね。
昨今のインターネット社会、Amazonや楽天市場を始めとした通信販売・オンライン販売を利用したことのある方々も多いと思います。いや、むしろ、全く利用したことのない人のほうが少なくなっているかもしれないなとすら思います。かくいう私も先日、諸般の事情により、Amazonで同じ商品を2日続けて1つずつ購入するなど、それなりにお世話になっています。
買い物難民・買い物弱者などという言葉もささやかれる中、ケースによっては送料もかかるとは言え、自宅に届けてもらえる販売形態というのは、やはり利用しない手はありません。田舎だと近所に小売店のないケースも多く、高齢者も簡単に使えるシステムの普及が進めばいいなあとも思います。
脱線しました。今回はそういう話ではありません。
みなさんにお伝えしたいのは、タイトルの通り、梱包ガッチガチ問題です。
とにかくガチガチであった
先述のように、私は2日続けてAmazonでほぼ同じ商品を購入しました。
それが、こういうものです。
我が家のシニア用にちょっと調べてみたら、「おっ、2000円くらいで買えるんだ〜」となって、スピーディーに購入しました。
…とまあ、それはさておき、買ったわけです。こういうのを。
通販というのは大したもので、関東近郊であれば注文すればだいたい次の日には届くわけです。文明すごい。
そういうわけで届いた当日、開封をしました。しますよね、開封。みなさんもしたことがあるんじゃないでしょうか。開封。
細長い段ボール箱で届くのかと思ったら、バカでかい段ボールで届きました。それでいて中身は杖なのでとても軽く、ちょっとおもしろかったです。
箱を開封すると、紙製の緩衝材の中から、杖が出てくるわけです。そしてここが本題なのですが、これがなかなかの曲者でした。
プチプチのグルグルにベタベタがギチギチにグルグルです。プチプチのグルグルにベタベタがギチギチにグルグルでした。
…わかりやすく言うと、まず、杖にはしっかりと気泡緩衝材(いわゆるプチプチ)が巻かれていました。上から下までしっかりと。文句なしの梱包です。
そしてその上から、梱包用透明テープがふんだんに使用されていました。気泡緩衝材(いわゆるプチプチ)が剥がれてしまわないように、びっちりと、しっかりとです。折り重なる部分に隙間が生じない、最高の梱包です。
輸送途中で商品に傷が付くことは絶対にないと言い張れるくらい、パワフルな梱包でした。安全に輸送していただき、ありがとうございます。
…しかし、ここまで来ると、素手では取れない!
全体に渡ってとにかくガッチガチであるが故に、素手で彼の武装を解除するのは不可能でした。
「じゃあハサミ使えばいいじゃんw」と思ったそこのアナタ!!!!!!それこそが梱包ガッチガチ問題の本質なのです!!!!!
取り乱しました。
そう、そのガッチガチの梱包を解くためには、ハサミやカッターが必要になります。「あると便利」などというレベルではなく、必須です。それくらいに梱包がガッチガチでした。
もちろん、梱包が重要なことはわかります。私もアルバイトをしていた頃は、気泡緩衝材(いわゆるプチプチ)を使い、商品の箱詰めをしたりもしました。商品に傷が付いたら、まして壊れでもしたら、それこそ一大事です。ただ、「輸送時の衝撃で壊れないように」を大きく逸脱すると、開封の際に悲劇が起こる可能性が生まれ、トータルで見ると、商品に傷が付くリスクというのはむしろ大きくなっているのではないかと思えるのです。傷が付くリスク、そう、それは、刃物の使用です。
刃物って危ないよね
素手では全くどうにもならない梱包を解くために、私もハサミを使いました。その際に思ったのです。「相手方の気づかいの影響で、むしろ商品の周りを鋭利な刃物が飛び交う結果になっている…?」と。梱包がしっかりしているせいで、傷リスクが高まる。これは本末転倒です。もちろん、商品到着前に傷が付けばそれは出品業者や配送業者の責任、受け取って開封の際に傷を付けてしまえば、それは客であるわれわれの責任です。であるが故に、開封の際に刃物を使わなくてはならないようなガッチガチの梱包に、戸惑いを覚えるわけです。相手方の過失で傷が付くリスクが小さくなる代わりに、こちらの過失で傷が付くリスクが大きくなるのです。そう、これこそが、梱包ガッチガチ問題。
まあ、長々と書きはしましたが、何が言いたいかというとつまり、「素手で剥がせないほどガチガチにしなくてもいいんじゃないの」という、それだけのことです。頑丈に巻き付けられた気泡緩衝材(いわゆるプチプチ)を剥がす際に自分で使ったハサミやカッターでものを傷付けてしまったら、その悲しみはやり場のないものになります。「業者のみなさんは悪くない…悪いのは…自分…」と、打ちひしがれることでしょう。そういうわけで、贅沢なお願いだというのは重々承知ながらも、メーカーさんか出品者さんかはわかりませんが、「ここまでガッチガチに梱包しなくても輸送には耐えられるよな…」というのを、ちょっとだけでも意識してくれないかなーという、そういうお願いでした。
ちなみに、2日続けて買ったというのは、買う→翌日届く→がんばって開封→親戚が来る→「おっ、うちのじいさんにもこういうのがあるといいなあ」→「じゃあこれ新品だから持って行っていいよどうせきょう頼めば明日また届くし」 というスムーズな流れの賜物です。そして私は2日続けてガッチガチの梱包と戦い、「そうだ、記事を書こう!」と思い至りました。
ガッチガチの梱包に心を動かされる日が来るとは思いませんでした。
「キリよくない周年」を集めています
「キリよくない周年」というものがあります。名前は私が付けました。
それがどんなものなのかは、実際に見ていただいたほうが早いでしょう。
どん。
どどん。
そう。つまり、そういうことです。
キリのよくない○周年、それこそがキリよくない周年なのです。
具体的に「キリがよくない」とはどういうことか。ご説明いたしましょう。
…と、その前に、参考資料として「周年」という言葉の画像検索結果を載せておきます。
さて、「○周年」がよく開催(?)される年数には、ある程度の慣習があります。
1周年、2周年、3周年
まずはこれが基本です。競争の厳しい世界で、1年もの間、その事業等を継続できた。これはめでたいことであります。1年も持たずに潰れてしまうお店や終了してしまうサービスも多々ある中で、1年続くというのは簡単そうでもやはり立派なことです。1年続くことが当たり前となっていないこの序盤のめでたさを、3周年まではきっちりと祝います。
私は新卒採用の仕事を9ヶ月で辞めました。
4周年…は飛ばして5周年
4は「死」に通じる…というのもレトロな価値観ではありますが、いまでも根強く残っています。3周年までは毎年お祝いしていた事業者たちも、たとえめでたくとも4周年の記念は一旦飛ばす傾向があります。そして、5周年をまた心置きなくお祝いするというわけです。
もちろん、全員が全員4周年を飛ばすわけでもありませんが、同じくあまり年数を積んでいない段階である1、2、3、5周年と比べると、圧倒的に少ないです。
5あるいは10の倍数周年
5周年を終えた場合は、次の目標は6周年…ではなく、10周年になることが多いようです。確かに、5年も続けることができたものなら、目標を高く設定しはじめるのは納得です。5の次にキリのよい数字と言えば、やはり10でしょう。そしてこれ以降は、多くの場合、5年毎の記念へとシフトしていきます。5、10、15、20、25…。5の段の掛け算は1の段に次ぐ楽勝さでお馴染みですね。
「十年一昔」という言葉がありますが、いまや「五年一昔」の時代と言えます。5年続けばそれは確かにお祝いできることでしょう。
この5年刻みというのが全人類の時間感覚にちょうどいい…のかはわかりませんが、「毎年お祝いするのもマンネリだし、かと言って全然お祝いしないのも寂しい」というニーズにバッチリと適合したもののようです。10周年以降にお祝いをするのは、ほぼ「5あるいは10の倍数周年」となっているようです。
変わりダネ、ゾロ目周年
忘れてはいけないのが、この「ゾロ目周年」。11周年、22周年、33周年…といったものです。このゾロ目というのもやはり人類の心をくすぐります。何気なく時計を見て4時44分だったとき「おっ!」と思った経験はみなさんにもあることでしょう。あってください。あれ。
これも、キリのよい数字と捉えられ、お祝いや特別企画をされる傾向があります。
激レア? 素数周年
世の中には13がキリのよい数字だと考える人もいるにはいます。こういうのもあるんじゃないですかね。いや、これは見たことないです。想像で書いています。
さて、以上を踏まえて、改めて「周年」の検索結果を見てみると、9割近くは分類できていると思います。
そう、これでも分類しきれないものが「キリよくない周年」なのです!
祝・横浜開港154周年に、創業196周年特別企画。これらは「1周年でも2周年でも3周年でも5あるいは10の倍数周年でもゾロ目周年でもオマケに素数周年でもない」という、選ばれしものたちです。
154年目や196年目は、客観的に言うと「ただの年」と言うより他はありません。ただの年です。あんなもんただの年です。いちいちお祝いしていられません。ただの年なので、毎年来ます。お祝いや記念企画をするタイミングは、他にいくらでもあります。
(196周年記念特別企画のほうのチラシは、そのお店の改装に伴う一時閉店セールのお知らせでした。じゃあ196周年ってのはとりあえずぶっ込んだだけのワードなのでは…?)
さて、ここまで「キリよくない周年」の説明をいたしましたが、なにぶんこれがレア物なのです。みなさんだって「おっ! 創業196年じゃん! お祝いしよう!」とはならないでしょう。どうにもこうにも半端なのですから。
そんな「キリよくない周年」を集めていきたいなと思っております。重ねて言いますが、結構なレア物のため、私自身もたったの2つしか見つけられていません。ひとりでは目が足りません。もしみなさんがキリのよくない「○周年」を見つけたら、ぜひハッシュタグ「#キリよくない周年」を付けてツイッターに投稿してみてください。「キリ」はカタカナ、「よくない」はひらがな、「周年」は漢字です。
みんなで「キリよくないな〜」と思えたら素晴らしいです(個人の感想です)。
ギフトピアを忘れない
かつて、ギフトピア(GiFTPiA)というゲームソフトがありました。ハードはゲームキューブ、発売は2003年。実に10年以上前の作品です。うええ、10年前には既にゲームキューブがあったのか。時の流れは恐ろしい。そんなギフトピアというゲーム、私は大好きでし た。買ったきっかけは全く思い出せないのですが、とにかくハマりました。メインテーマがちょっと不気味で、やたらクセになります。
どういうゲームなのかを簡潔に説明すると、主人公・ポックルがオトナになるためにあれこれがんばる、というものです。
ナナシ島の住民であるポックルは、オトナになるための儀式「オトナ式」の日に寝坊をしてしまいます。
規則で定められた大事な式をすっぽかしたポックルは、オトナになれなかった上、村長さんには「反逆罪な〜のだ!」と怒られ、牢屋に入れられてしまいます。
囚人服で。
足かせまでついて。
「未成年の囚人服姿は倫理 的に問題が…」とのことで、顔にモザイクまでかかっています。主人公が囚人服で足かせでモザイクなゲームなんてそうそうあるもんじゃないですよ。
この「オトナ式」は、現実の「成人式」とは違い、「出なくてはならない」ものなんですよね。出ないと即、反逆罪。こういった制度のあり方、ムチャクチャだと思うでしょう?そのへんのこともちゃんと、のちのち言及されます。
で、ボランティア活動(ゴミ拾い)をすることによって、囚人服と足かせとモザイクを取ってもらえて、なんやかんやあって、村長さんに「再オトナ式をするには500万マネ必要なのであ〜る!」と言われます。「マネ」はお金の単位です。
というわけで、このゲームは、オトナになるためにお金を集めるゲームです。
…いやいやいや。もちろんそれだけではありません。
島を散策していていると、ポックルは不思議な老人・ジギーに出会います。
「わしはオトナ式なんかしとらんぞ!」と言うそのシャーマン的なおじいさんにポックルはびっくり。この世界では「オトナ式をしないとオトナになれない」というのが常識なのです。
そしてジギーは「オトナ式ではない『オトナになる方法』」を教えてくれます。
それは、「人のネガイを叶える」ということなのでした。
実 は、ポックルには、キャッピーというガールフレンドがいます。ポックルとキャッピーは、オトナになったら、子供は立入禁止の「シマウラ」という地域へ一緒に行こう、と約束をしています。ポックルがオトナになれなかったもんですから、キャッピーは怒ったり悲しんだりしています。ちなみにこのキャッピー、村長であるメイヤーさんの娘です。
シャーマン的なおじいさんと一緒にキノコ鍋を食べていたポックルは、シャーマン的なおじいさん経由で、「キノコ精れいちゃん」を名乗る何かと会話します。そして気づくと、真夜中のキャッピーの寝室に。
寝ているキャッピーの心から、精れいちゃんにもらった「からのネガイ玉」で「シマウラにつれていって!」というネガイを聞き届けます。
ここから、「マネを集める」という方法と「ネガイを叶える」という方法が平行して進んでいき、ポックルはオトナになっていくのです。
500万マネ集めても、人々のネガイを叶えても、オトナにはなれるのですが、基本的にはネガイを叶えるほうでゲームを進めることになります。メインストーリーもそちらに沿った形で進むのですが、何より、ネガイを叶えないと、ポックルの1日の行動時間が長くならず、お金が全然集められないのです。ネガイを叶えていくことで、「オトナのもと」が溜まって、少しずつオトナに近づいていきます。要するにレベルアップですね。
レベル1にあたる「おこちゃま」のときは、1日に8時間しか行動できません。ゲーム内の1時間は現実の1分です。ポックルは毎朝9時起床なので、夕方の5時までしか行動できません。
眠くなっちゃうからです。
眠くなっちゃうから、夕方5時までに家に帰ってベッドで寝なくてはならないのです。帰らなかった場合、「ネムイ精れい」という奴に所持金を奪われます。ゲームオーバーではありません。それはちゃんと別にあります。
このゲームには結構出てくる、精れい。もちろん「精霊」のことですが、ゲーム内の表記は「精れい」です。
お 金を集めることによって島の設備が整っていき、ロープウェイが開通したり、宝くじが買えるようになったり、山小屋をもらえたり、畑仕事ができるようになったりするので、ネガイを叶える合間にちょっとずつお金を集めていく感じですね。
ちなみに、ネガイの方でオトナになる直前まで進むと、500万マネくらい余裕で貯められます。ネガイを叶えたほうがお金集めも捗るわけですね。当然ながら500万マネ達成ENDとネガイ叶えENDは違います。
本当は思い出を語ろうと思ったんですが、なぜかあまりにも知名度の低いゲームなので、結局説明っぽい感じになってしまいました。テレビCMもやっていたんですけどねえ。こんなに知名度がないなんて、不思議ですねえ。とてもおすすめですので、もし機会があれば是非やってみてください。ゲームキューブのソフトはWiiでもプレイ可能です。
時代を感じるホームページ。http://www.nintendo.co.jp/ngc/ggfj/index.html
ゲーム内でも流れるCMタイアップ曲。https://www.youtube.com/watch?v=rqJj94ASUtE