「グローバル変数」は、「関数」の外で変数を定義すればよいのだ。先ほどの例で考えると、次のようになる。1」が3行目に移動しましたね。インデントもなくなっている。変数「a」は関数の外で定義され、「グローバル変数」になったのだ。マイクロビットにプログラムを書き込んで、Aボタンを押すと・・・1が二回表示されましたね!変数「a」は、「グローバル変数」なので、11行目でも有効に使える、ということなのだ。6行目の「display.scroll(a)」で1回表示されて、11行目の「display.scroll(a)」でもう1回表示されたのですね。test_a()3行目でグローバル変数「a」に0を入れて置きます。Aボタンが押されると、5行目の関数「test_a」が呼び出されて、6行目で「a」が1増えて、7行目で表示されます。おぉ、頑張ったね!では、動かしてごらん。了解です!・・・あれ、6行目でネームエラーになってしまいましたね。実は、6行目は、「ローカル変数aを用意して、a+1を格納する」という意味になってしまうのだ。display.scroll(a)なんですって!関数の内部で変数に値を代入するのは、ローカル変数の定義を行う、と解釈されてしまうのだ。確かに、ローカル変数の定義の書き方と同じですね。ローカル変数「a」の宣言に「a」を使おうとしたので、ネームエラーになってしまったという訳なのョ。関数の内部でグローバル変数の値を変えるには、どうすればよいのですか?その場合は、「global」文を使って、あらかじめ変数「a」がグローバル変数であることを明記すればよい。display.scroll(a)では、マイクロビットで動かしてみます。「Flash」ボタンで書き込んで・・・おぉ、確かにエラーにならなくなりました!Aボタンを押した回数が表示されるようになりましたよ!今回のまとめ今回説明した「グローバル変数」と「ローカル変数」の違いを以下にまとめてみたョ。ローカル変数は関数の内部のみで有効。グローバル変数はプログラム全体で有効。ローカル変数内でグローバル変数の値を変更する場合は「global」文を用いる。【マイクロビット入門】(10)マイクロビットの機能を使ってみよう。プラモの飛行機のプロペラ(3)回転が徐々に遅くなって止まるように改造マイクロビット、パイソンのプログラミング応用編です。飛行機のプロペラのプログラムを改造しました。高速回転から停止するときに、プロペラが徐々に減速して止まるようにしてみました。プログラムを「状態を切り替える」方式で作成したので、簡単に改造することができます。プロペラの動きがよりリアルになりました。マイクロビット【マイクロビット入門】(1)マイコンのプログラムを作ろう!普段マイコン用ソフトを作っている青木鳥が、我が子とともに教育用マイコン:マイクロビットに挑みます。パソコン初心者向けに基礎から分かりやすくマイクロビットのプログラミングを解説します。使用する言語はPython(パイソン)です。大人も子供も見に来てね。マイクロビット【マイクロビット入門】(2)パイソンエディターを使ってみよう。教育用マイコンボード「マイクロビット」のプログラミングを解説します。実際にプログラムを作る前に、そのための道具「パイソンエディター」の説明を行います。パイソンエディターを使って、マイクロビットのプログラムを作ろう。マイクロビット【マイクロビット入門】(14)配列の要素とインデックス教育用マイコンボード「マイクロビット」のプログラミングを解説します。使用言語はパイソンです。前回に引き続き、今回も配列について説明します。配列を用いてマイクロビットのLED表示部で時計の針を一回転させます。配列をより深く理解しよう。マイクロビット【マイクロビット入門】(5)それって本当?それとも嘘?(TrueとFalseについて)教育用マイコンボード「マイクロビット」のプログラミングを解説します。今回は、「あいつの言っていることは本当なのか、嘘なのか?」という話ではなくて、コンピューターで2つの数字の比較を行ったりするときの話です。TrueやFalseという言葉について説明するよ。教育用マイコンボード「マイクロビット」のプログラミングを解説します。使用言語はパイソンです。今回はボタンライブラリの3つの関数「is_pressed()」「was_pressed()」「get_presses()」について、具体的な例も交えて説明します。コメントをキャンセルメールアドレスが公開されることはありません。※サイト上に表示された文字を入力してください。映画などを見て、登場する乗り物をプラモで作ります。マイクロビットという教育用マイコンを使ったプログラミング入門の記事も書いていきます。青木鳥をフォローする無断転載を禁止します。道具ホーム検索トップサイドバータイトルとURLをコピーしました。