【スクラッチでハッカソン】ショートヘアセットをゲットしよう

オンラインハッカソン
Scratch星人
Scratch星人

大好評のオンラインハッカソンも3回目となりました。

今回は「ショートヘアセット」というアイテムをゲットする問題に挑戦してみましょう。

「ショートヘアセット」の問題

問題を見て「あれ?もしかして。」と思ったあなたは、なかなか鋭いです。

そうです。
この問題、2つの数字を足し算するだけなので簡単です。

Scratch星人
Scratch星人

自分で作れそうだと思ったら、早速作ってみましょう!

スクラッチでコードを作成してみる

答えは、これです。

パッと見は難しそうに感じるかもしれないですが、ブロックをひとつずつ確認していくと、難しいことはしていません。

  • 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関数」を使ったコードを紹介しました。

それでは、この内容のコードをスクラッチで作ってみましょう。

Scratch星人
Scratch星人

スペースキーをどのように判別するかがポイントですよ!

こちらが答えのコードです。

スペースかどうかを判別しているのは「もし答えのカウント番目の数字 / 1 = 0 なら」の部分です。

スクラッチでは「スペース÷1=0」となるので、この機会に覚えておきましょう。

まとめ

「スクラッチでハッカソンに挑戦」の3回目が終わりました。
いかがでしたか?

今回は問題が簡単だったので、話がそれてしまいましたが、「へ〜〜」と勉強になったのではないでしょうか?

スクラッチでは、ゲーム作りがメインになりがちですが、問題を解くという楽しみもあります。

これからもスクラッチを楽しんでいきましょう♪( ´▽`)

コメント

タイトルとURLをコピーしました