質問: ##### **micro:bit**で遊び始めるとインポートの問題が出ました。**MicroPython**でコーディングする方です。 公式ドキュメンテーションの説明では **from microbit import *** の一文だけで全てのライブラリーOKとなっておりますが、これだけではネームエラーが出てしまいます。 その代わりに **import microbit** を書くとこちらも別部分のネームエラーが出てしまい、結局2つのインポート文を書くことで添付コードが動作します。 無意味とは思いましたがファームウェアを最新の 0250 → 0253 にしたけど変化なしです。 このまま続けていけば良いのでしょうが、どこか気持ちが悪いです。 どんなカラクリなんでしょうか。 ``` from microbit import * #この文だけでは line 7 name "microbit" is not defined というネームエラーが出る import microbit #この文だけでは line 8 name "Image" is not defined というネームエラーが出る while True: if microbit.button_a.is_pressed(): microbit.display.show(Image.HEART) microbit.sleep(1000) elif microbit.button_b.is_pressed(): microbit.display.show(Image.DIAMOND) microbit.sleep(1000) else: microbit.display.show(" ") ```
回答: ``` from microbit import * while True: if button_a.is_pressed(): display.show(Image.HEART) sleep(1000) elif button_b.is_pressed(): display.show(Image.DIAMOND) sleep(1000) else: display.show(" ") ``` あるいは ``` import microbit while True: if microbit.button_a.is_pressed(): microbit.display.show(microbit.Image.HEART) microbit.sleep(1000) elif microbit.button_b.is_pressed(): microbit.display.show(microbit.Image.DIAMOND) microbit.sleep(1000) else: microbit.display.show(" ") ``` はたまた ``` import microbit as mb while True: if mb.button_a.is_pressed(): mb.display.show(mb.Image.HEART) mb.sleep(1000) elif mb.button_b.is_pressed(): mb.display.show(mb.Image.DIAMOND) mb.sleep(1000) else: mb.display.show(" ") ```