大好評のオンラインハッカソンも3回目となりました。
今回は「ショートヘアセット」というアイテムをゲットする問題に挑戦してみましょう。
「ショートヘアセット」の問題
問題を見て「あれ?もしかして。」と思ったあなたは、なかなか鋭いです。
そうです。
この問題、2つの数字を足し算するだけなので簡単です。
自分で作れそうだと思ったら、早速作ってみましょう!
スクラッチでコードを作成してみる
答えは、これです。
パッと見は難しそうに感じるかもしれないですが、ブロックをひとつずつ確認していくと、難しいことはしていません。
- 1つめの数字を入力してください→変数”a”に格納
- 2つめの数字を入力してください→変数”b”に格納
- aとbを足し算した答えを言う
Pythonで解いてみる
たったの3行で書くことが出来てしまいます。
・・・ですが、これで終わってしまっては記事が面白くないので、今回はPythonのさらに進んだ使い方を紹介しようと思います。
ここまで「スクラッチ」と「Python」で作ったコードを実行すると、1つめの数字と2つめの数字を1回ずつ入力する仕様になっています。
この仕様を少し変更し、ふたつの数字をスペース区切りで入力するようにしてみようと思います。
1つめの数字が「3」で、2つめの数字が「4」の場合、「3 4」と入力する。ということです。
for文を使ったコード
for文というのは繰り返し処理をするコードです。
スクラッチでは「〜回繰り返す」のブロックが近い意味のコードになります。
map関数を使ったコード
map関数というのは「繰り返さずに配列の全要素にアクセスして関数を適用させるもの」です。
・・・何を言っているか分かりづらいですね…。
スクラッチにはこのようなブロックがないので、イメージしづらいですが、「3 4」などど入力されたものは、一旦、(リストに近い)配列というものに格納されます。
それをint(整数)にして、3をaに、4をbに格納して、最後にそれらを足したものを出力しています。
スクラッチで「スペース区切りのコード」を作成してみよう
Pythonの「for文」と「map関数」を使ったコードを紹介しました。
それでは、この内容のコードをスクラッチで作ってみましょう。
スペースキーをどのように判別するかがポイントですよ!
こちらが答えのコードです。
スペースかどうかを判別しているのは「もし答えのカウント番目の数字 / 1 = 0 なら」の部分です。
スクラッチでは「スペース÷1=0」となるので、この機会に覚えておきましょう。
まとめ
「スクラッチでハッカソンに挑戦」の3回目が終わりました。
いかがでしたか?
今回は問題が簡単だったので、話がそれてしまいましたが、「へ〜〜」と勉強になったのではないでしょうか?
スクラッチでは、ゲーム作りがメインになりがちですが、問題を解くという楽しみもあります。
これからもスクラッチを楽しんでいきましょう♪( ´▽`)
コメント