とりあえず日課のコードクロニクルを体力が尽きるまでプレイしまして。例によって待ち時間が発生。折角なのでPaizaで提供されている他のプログラミング学習ゲームをチラ見してみました。
これとか
これとか
これとか
これとか
これ
・・・なんで全部萌え系(?)の絵ばっかりなのだ! プログラミングを趣味とする人間像はそういう男子ばっかりだと思われてるんだろうか・・・もっと硬派なの「も」頼むよ〜
まあ、ロジックサマナーが次の候補かな?(絵柄的に)
では引き続き「プログラミングで彼女をつくる」をプレ・・いや、学習していこう
アイテム「眼帯」をゲットしようと思ったけど、駄目だ・・・検定レベルもBだし、歯が立たない。地道にレベルD相当のをやってゆくか・・・
はい、簡単な計算プログラムでショートヘアーゲット。
うーん・・僕が最後に「おおっ!」と思った二次元キャラは女神異聞録ペルソナ3ってゲームのエリザベスなので・・・ショートボブを・・あと、銀髪?
くっ・・・違うな・・・
とりあえず出来るところから埋めてゆくか・・まずは寒そうなので服を着せてやらないと。問題は1から入力された数値までの掛け算? 例えば5だったら 1x2x3x4x5の答えを出すというもの。なんかもっとスマートな書き方があると思うけど、これでどうだ? (一応)正解(^o^)
カーディガンゲット。
髪の毛もショートにして・・と。こういうの好き!?・・・って・・・このメッセージを考えてるのがオッサンであるのは間違いない!ので無心で続けるぜ
続きまして〜 まず数字を入力、その数分の文字列が入力されるので、それをアンダーバーで接続して表示するというもの。いきなり難しい! うーん、一つづつ考えてゆくしか無いな・・。
とりあえず最初に入力された数字回分ループで文字列を入力して、それを文字列+アンダーバー(chromebookでは入力できない)で追加していって表示する・・と。これでどうだ!?
ファッ!? 不正解。あ、そうか・・・最後はアンダーバーがついたら駄目なのに、僕のコードでは・・・うーん、どうすれば? 出力する寸前の段階で文字列の最後を削除することが出来れば・・。知ってる知識ではどうにもならんので検索。
お、これだな。ふんふん print(a[:-1]) の形式で最後の一個消せるんか
多分もっとスマートな書き方があるはずだけど、とりあえず正解。こんな強引な方法でwとか思って笑う。
はい、セーラー服ゲット。はっきり言ってセーラー服は嫌いなので絶対に着せないが!
続きまして〜(朝5時に目が覚めたので一気にやってますw)、5回YesとNoの入力が行われるので、多数決をして多い方を表示する、というもの。むずい・・と、反射的に思ってしまったが、まあ、一つ一つやって行こう
ん〜・・これでどう? おお、正解(エレガントではないが)!
ロングヘアゲット。どんどん行こう!
お、ループで数を減らしてゆくパターン。これはコードクロニクルで散々やったから・・
これで良いんでは? print("0!!") ってのが馬鹿っぽいけど正解
ポニーテールゲット。髪の毛ばっかりかよ〜
レベルD最後の問題。入力された数字(スペース区切り)を分けて計算するのか・・・split()を使うのは分かるんだけど・・・
こういう形式で入力されて、その計算結果で1列目と2列目どっちがお得かを出す、と。まあ、とりあえず書いてみよう
えーとsplitは分けたらリストになるので、予め空のリストを用意しておいて・・その中の1つめ[0]を2つめ[1]で割ったものを比較したら・・・駄目だ、エラー。うーん、なんで?
こういう時こそPaiza.io。どこがおかしいのかを特定するために色々といじってみる。あ、なるほど・・リストって中身のデータがstr型になるのか。じゃあ、強引にint型にした状態で計算したらば・・・ま、どうせエラーでしょ? と、思ったら正解!嬉しい!
そしてこのどう見ても無様なコードに自分でニヤニヤ。絶対にもっとエレガントな書き方あるよなぁ
はい、最後のツインテールゲット。使わないな・・・
そしてこのセリフもオッサンが考えて書いているという事実・・・
あ〜後はもう手強いのばっかり(多分)。コードクロニクルやっててクリア出来るようになるんかいな? けど、(主に自分の無様なコードがだが)楽しくなってきた!