みやまのアトリエ

Pythonプログラミング ペンタブ備忘録 趣味のお絵描き うつ病の経過

スマホが左手デバイスになる(かもしれない)アプリ作成レポート2

前回のレポートはこちら↓

スマホが左手デバイスになる(かもしれない)アプリ作成レポート1 - みやまのアトリエ

 

そもそも左手デバイスって何?

 お絵描きされる方は、右手でペン、左手でキーボードの「戻る(Ctrl+Z)」や「消しゴムへ切り替え」等のショートカットキーを使われてある方が多いのではないでしょうか。

 左手デバイスはボタンが沢山付いてる入力装置です。あらかじめ機能を割り振っておいて、ボタン一つでペイントツールのツール切り替え機能等が使えるようになる装置です。 キーボードのショートカットキーの中でよく使う機能だけを、ボタン1つで操作出来たら「楽だしお絵描き効率もアップ」って道具ですね。ペンはずっとキャンバスから移動しなくていいので、慣れるとペンタブ操作がとても快適になります。

 代表的なところで、セルシスのTab-MateやWACOMのExpress Key Remoteがあります。このレビューが分かり易かったです。

 

 

 最近は任天堂スイッチのコントローラーを左手デバイスとして使うのもトレンドみたいです。

 

 

今回やりたいこと

 皆スマホ持ってるんだから、スマホでショートカットキー使えたら便利かなと。スマホアプリに予めボタンを配置しておき、そこからの指示でお絵描きツールを動かせるアプリを作成します。スマホ-パソコン間はBluetoothで接続しておき、スマホから「戻る」ボタンを押したら、パソコンのペイントツールに「Ctrl+Z」信号がいくようにします。

f:id:M_Atelier:20180519232155p:plain

 

スマホ側の画面

  一番上は接続先のパソコン名と接続のON/OFF。上部にキャンバスの拡大/縮小/回転等のキャンバス関連ボタン、下部にショートカットキーボタンを配置しました。

f:id:M_Atelier:20180519233156j:plain

 

キャンバス操作について

f:id:M_Atelier:20180519233314j:plain

 

 操作内容はボタンの文字の通りです。拡大を押すとキャンバスが拡大、右回転を押すとパソコンのキャンバスが右回転します。動かしている様子はこちら ↓

f:id:M_Atelier:20180519233359g:plain

 

  中央の「□」ボタンは、キャンバス位置のリセットです。上のプレビューでは、途中で一回キャンバス位置を元に戻しています。

 

ショートカットボタンについて

  試しに6つ程作成しました。よく使う「戻る」「保存」等を配置しています。数はもっと増やす予定です。

f:id:M_Atelier:20180519233623j:plain

 

 

 スマホのショートカットボタンを押して、パソコンのツール切り替えをやっている様子です。ペン、消しゴム等のボタンを押しています。

f:id:M_Atelier:20180519233929g:plain

 

 こちらは設定画面です。各ボタンに機能を割り振れるようにしました。

f:id:M_Atelier:20180519234035j:plain

 

今後の予定

  • 見た目をカッコよくしたいです。どんな見た目が使いやすくて、テンション上がりますかね…?
  • 動きがカクカクなので、ヌルヌル動くようにしたいです。
  • ショートカットボタンを増やそうと思います。タブでショートカットボタンの一斉切り替え機能を付けてみてもいいですね。
  • 近々β版を公開します。

以上です(/・ω・)/

スマホが左手デバイスになる(かもしれない)アプリ作成レポート1

 ペンタブでデジタル絵を描く人にとっては必須のツールになりつつある「左手デバイス」。右手のペンで絵を描きながら、左手でデバイスに割り振られた「消しゴムへ切り替え」「戻る(Crrl + Z)」等のショートカットが使えますので、活用していらっしゃる方も多いのではないでしょうか。
 代表的なところでセルシス社のTab-Mateがあります。私も初代Tab-Mateは1、2年ほど愛用していました。

f:id:M_Atelier:20180512235229p:plain

 

 しかし先日我が家のTab-Mateが短き一生を終えまして…

f:id:M_Atelier:20180512235339p:plain

 

 そこで、新しく迎え入れる左手デバイスにどんなものがあるのか調べることになりました。選択肢は5つ。

 

選択肢1 セルシス社の2代目Tab-Mate

CLIP STUDIO TABMATE

CLIP STUDIO TABMATE

 

 

 5,000円程度。廉価でClip Studioとの相性も良く、クリスタユーザーであれば一番手を出しやすい左手デバイスかもしれませんね。

 

選択肢2 Wacom Express Key Remote

 

  ペンタブメーカーのWACOMから発売されている左手デバイスです。お値段1万1,000円なり。た、高い…

 

選択肢3 ゲーミング左手デバイスをお絵描き用に設定して使う

 

 1万円前後ですね。細かい設定も必要そうで、手を出すには少しだけ億劫です…

 

選択肢4 キーボードを使 嫌。肩が凝る。

 

 

 

選択肢5 よし!自作しましょう

使う機器

完成予想図

f:id:M_Atelier:20180513000014p:plain

 スマートフォンを左手デバイスとして活用します。その為に、左手デバイスに使われている「戻る」「消しゴムに切り替え」…等のボタンをスマホ画面に配置します。そのボタンを押せば、パソコンに情報が送られ、パソコンで使っているお絵描きアプリの「戻る」「消しゴムに切り替え」が動くようにしたいと思います。
 また、スマホとパソコンはBluetoothで接続しようと思います。その方が何かと便利そうなので。


 スマホ側のボタンはよく使う「戻る」「消しゴム」の他にも、「進む」「ブラシの大小」「鉛筆」「水彩」「油彩」を作成しておきます。他のツールや機能も追加予定。パソコン側で設定を変えてもいいけど、この辺は後々作ろうと思います。

開発環境:Android studio

 Android StudioGoogle公式のスマホアプリ作成用ソフトです。お絵描きするために「Clip Studio」を使うように、スマホのプログラミングに「Android Studio」を使います。

 

「こういう雰囲気で作成するよ~(/・ω・)/」ってサンプルです。

f:id:M_Atelier:20180513000232p:plain

使用言語:Java

 Java言語はプログラミング言語のひとつです。コンピュータは私たちの使う日本語、英語等は理解してくれませんので、Java言語でコンピュータに命令します。その命令をまとめたものがプログラム、プログラムを書くことでアプリを作ることができます。

 

作るものリスト

f:id:M_Atelier:20180513000053p:plain

 

スマホ

  • 「戻る」「消しゴム」等のボタン画面
  • Bluetooth接続機能
  • Bluetoothによる情報送信機能(「戻る」が押されたらパソコンにCtrl+Zを送る、など)

パソコン側

  • Bluetooth受信した情報の処理(ドライバソフト?)

 

スマホの画面構成

f:id:M_Atelier:20180513000140p:plain


 アプリを起動したら、初期画面はショートカットメニュー一覧にします。
右下の「+B」ボタンでBluetooth接続するパソコンのスキャン、接続要求。パソコンと接続したら、元のショートカットメニュー一覧に戻ります。
 右下に「設定」メニューを設けますが、内容はまだ未定です。

不安点

 スマホアプリの作成でプログラミングの勉強をした私は、スマホ側は作れそうだけど、パソコン側でどんなものを作ったらいいのかさっぱり分からない。何かドライバーみたいな役割のアプリを別途作る必要があるみたい…?現在はTeraTermというソフトをパソコンにインストールして、通信のチェックをしています。

 

現在の進捗

開発環境

 Android studioのパソコンへのインストール完了。テストアプリの実機確認。

 

画面作成

 テストの為の仮画面まで終了。よく使いそうな「戻る」「消しゴム」等を設置しました。

f:id:M_Atelier:20180513000419p:plain

 

Bluetooth接続機能

 スマホ側のアプリでBluetooth機器を検索し、パソコンと接続するところまで終わりました。

 

Bluetooth送信機能

 現在はスマホからパソコンへ文字列等が送信できるかチェック中です。

 

パソコン側の信号送受信機能

 まだ手を付けていません。現在はTeraTarmにて受信確認中です。ドライバ的なものを作るのかもしれませんが、何が必要か分かりません\(^o^)/ヤバタニエン

 

 以上です。次回はスマートフォンからパソコンへ情報送信が出来た辺りでまた記事にしようと思います。

大きな女児向けPython入門 4.プログラムの流れを変える

 すみません…漫画挫折しました…今回大きな女児向けに、みらリコでお送りいたします<m(_ _)m> 

 

前回はこちら

Python入門 3.リストの使い方 - みやまのアトリエ

f:id:M_Atelier:20180509223430p:plain

 

 今まで書いてきたプログラムは「上から順」に実行されるものばかりでした。

 

f:id:M_Atelier:20180509223445p:plain

 プログラムを作っていくうちに、「もし~なら処理をしたい」や、「何度も同じ処理をさせたい」と思うときがあります。今回は、それらプログラムの流れを変える方法を説明していきます。

f:id:M_Atelier:20180509223506p:plain

(1)if文 「もし~なら実行する」

 キュアミラクルは変身でリンクルストーン“ダイヤ”を使うと、「キュアミラクル」に変身します。プログラムは曖昧な言葉を理解してくれませんので、もう少し明確に書きます。
「もし、リンクルストーンがダイヤなら、キュアミラクルに変身する」
これをif文を使って、プログラムにします。

if文を書く時の基本ルールf:id:M_Atelier:20180509223539p:plain


 if文を使って書くと、次のプログラムになります。書いて、実行してみてください。

 

プログラム

stone = "diamond"
if (stone == "diamond"):
    print ("ダイヤスタイルに変身")

結果

ダイヤスタイルに変身

 

 1行目で、変数stoneにdiamond(ダイヤ)を代入しています。

f:id:M_Atelier:20180509224005p:plain

 2行目のif文では、変数stoneの中身がダイヤかどうかをチェックしています。「==」と書かれている部分は、==の左側の変数「stone」と右側の文字「diamond」を比較しています。この比較を、「条件文」と呼んでいます。「=」は一つではなく、2つなので注意してください。もし「リンクルストーン==ダイヤ」の条件文を満たせば、print文「ダイヤスタイルに変身」を実行します。f:id:M_Atelier:20180509224029p:plain

 これだけでは、ダイヤスタイルにしか変身できませんね。ダイヤスタイルの次に出てきた「ルビースタイル」もif文に追加してみましょう。「if ~elif~」文というものを用います。
「もし、リンクルストーンがダイヤなら、ダイヤスタイルに変身する。他にもし、リンクルストーンがルビーなら、ルビースタイルに変身する。」

 

プログラム

stone = "Ruby"
if (stone == "diamond"):
    print ("ダイヤスタイルに変身")
elif(stone == "Ruby"):
    print("ルビースタイルに変身")

実行結果

ルビースタイルに変身

 これで、ルビースタイルに変身することができました。1行目の変数stoneに代入する文字を“Ruby”に変更しておきましょう。そうしないと、Stoneがdiamondのままではダイヤスタイルに変身してしまいます。

 

 同じように、サファイヤ、トパーズの分も追加しましょう。最後の「else」はいずれの条件にも当てはまらなかった場合に実行されます。変数stoneには、自分の好きなスタイルを入れてください

プログラム

stone = ""
if (stone == "diamond"):
    print ("ダイヤスタイルに変身")
elif(stone == "Ruby"):
    print("ルビースタイルに変身")
elif(stone == "sapphire"):
    print("サファイアスタイルに変身")
elif(stone == "topaz"):
    print("トパーズスタイルに変身")
else:
    print("みらいのまま")

 

 if文は数字の比較をすることもできます。みらいちゃんは14話で数学のテスト26点を取り、赤点となりましたね。変数scoreに26点を入れ、条件if文を使って赤点にしましょう。

 

プログラム

score = 26
if (score <= 40):
    print ("みらいちゃん赤点。再試決定。")


実行結果

みらいちゃん赤点。再試決定。

 

f:id:M_Atelier:20180509224139p:plain

 このプログラムでは比較に「<=」を使いました。変数scoreが40と同じか、それより下回った場合に、if文の条件を満たし「みらいちゃん赤点。再試決定。」のprint文が実行されます。他にも、次のような記号があります。

 

比較のための記号

==:右と左が等しい
!=:右と左が等しくない
< :右の方が大きい
<=:右のほうが大きいか、左右が等しい
> :左の方が大きい
>=:左の方が大きいか、左右が等しい

 

練習問題
 このままでは、みらいちゃんにプリキュア禁止令が出されるかもしれません。無事85点を取ったみらいちゃんに花丸を渡すプログラムを完成させましょう。


プログラム

score = 85
if(score 40):
    print ("花丸!")
else:
    print ("みらいちゃん赤点。再試決定。")

 

MEMO 恋愛ゲームやアニメでよく聞く「フラグが立つ」
 攻略したいキャラのルートに入ることを、よく「フラグが立つ」と言いますね。この言葉、プログラミングの「if」が由来です。ifの条件を満たすことを、フラグが立つと言います。

 

for文「繰り返し実行させる」

「繰り返し実行」するfor文について説明します。

for文を書く時のの基本ルールf:id:M_Atelier:20180509223725p:plain

 次のプログラムを書いて実行してみてください。リスト変数precureに4人のプリキュアを入れておきました。for文を使って順番に取り出していくプログラムです。

プログラム

precure = ["ミラクル","マジカル","マリン","トゥインクル"]
for i in precure:
    print("キュア"+i)


実行結果

 for文の「i in precure」に注目してください。変数iには、リストの先頭である「ミラクル」が入り、for文の次の文「print("キュア"+i)」が実行されます。iにはミラクルが入っているので、「キュアミラクル」が取り出せます。

f:id:M_Atelier:20180509224211p:plain


 1回目のprint文が終了すると、変数「i」にはミラクルの代わりにマジカルが入り、print文が実行されます。「print("キュア"+i)」が実行されキュアマジカルが取り出せるようになります。
 同じように、マリン、トゥインクルと順次変数iに入り、リストの最後になるまで何度もprint文が繰り返されます。


以上です。次回は、「関数の活用」を勉強していきます。

【PixivFANBOX】クレジットカード無しでクリエイターを支援する

 PixivFANBOXによるクエリエイターへの支援活動サービスが一般開放されました。 支援したいクリエイターに毎月一定料金を支払うことで、好きなクリエイターを継続的に支援し、創作活動を支える仕組みです。クリエイターによっては、支援に参加することでイラストの添削、非公開イラストの公開等のサービスを受けることができます。

 

 さて、これらサービスにはPixivへのクレジットカードの登録が原則として必要となります。しかし、クレジットカードを登録したくない、クレジットカードを持つことができない等、支援したくても踏み出せない方もいらっしゃるのではないでしょうか。私もクレジットカードはトラブル防止のため、ネット上のサイトには極力登録したくないです。

 

 そこで今回、クレジットカードを使用しない「バニラVISA」を用いた決済方法を試してみましたので、その方法をまとめておきます。

 

 

注意
 バニラVISAをネットで使用するためには、ショートメッセージ(SMS)を受け取るスマートフォンまたはケータイが必要になります。

バニラVISAとは?

 コンビニで入手可能なプリペイドカード(=先払い)です。「先払い」なので、クレジットカードのように「払いすぎた」等の心配がなく、安心して使用することができます。不正利用されても、先払いした金額以上のお金を横取りされることもありません。

 

バニラVISAの特徴

  • VISAマークのある国内外の店舗、ネットショップでの支払いに利用可能
  • 基本的な使い方はクレジットカードと同じ
  • 審査なし、コンビニで購入可能
  • 3,000円分(実売3,300円)と10,000円分(実売10,300円)の2種類が売っている
  • 有効期限あり。私が入手したのは約1年半の有効期限がありました。
  • ネット利用の場合、初回のみスマホまたはケータイによる認証が必要
  • 1回で使い切る必要はなく、何度でも使用可能
  • チャージは出来ない

 

 なお、バニラVISAはPixivFANBOXにて公式にて、動作確認済みとのことです。

 

コンビニで、「バニラVISA」を入手する

 今回、セブンイレブン内のiTunesAmazonギフトカード等が置いてあるカードコーナーにて、3,000円分を入手してきました。セブンイレブン以外でも、コンビニであれば、どこでも入手可能かと思われます。

f:id:M_Atelier:20180505220840j:plain

 

開封の儀。カード1枚と、説明書が封入されていました。 f:id:M_Atelier:20180505220917j:plain

どこをボカしていいか分からなかったので適当にボカしときました(/・ω・)/

 

 

バニラVISAを登録する

 ネットでのお買い物をするには、初回のみ登録が必要になります。登録には、スマートフォンまたはケータイのショートメッセージ(SMS)を利用します。これから登録方法を説明していきます。

 

バニラVISAギフトカードの利用方法ページにアクセスします ↓

www.vvgift.jp


「お手続きはこちら」に進みます。

 f:id:M_Atelier:20180505221000p:plain

 

入力画面が表示されますので、各種番号を入力していきます。

f:id:M_Atelier:20180505221111j:plain

 

入力項目は4つです。

(入力1)お問い合わせ用 お客様番号(カード表面、下部の16桁)

f:id:M_Atelier:20180505222653j:plain


(入力2)セキュリティーコード(カード裏面、中央右端の3桁)

f:id:M_Atelier:20180505222713p:plain


(入力3)電話番号

f:id:M_Atelier:20180505221058p:plain


最期に、「(入力4)画面に表示される文字列」を入力し、次へを押します。


入力内容の確認画面が表示されますので、「次へ」を押します。


ここで、スマートフォンまたはケータイに4桁の番号が送られてきますので、番号をWebサイトに入力します。

f:id:M_Atelier:20180505221129p:plain


入力したら、次へ。

 

完了画面が表示されたら、手続き完了です。

f:id:M_Atelier:20180505221138j:plain


カード画面に、「Online Shopping OK!」と書かれた赤いリボンが表示されます。

 

PixivFANBOXへ登録

Pixivへ移動します。 Pixixはこちら ↓

www.pixiv.net

 

 クリエイターがFANBOXを使って支援を募集していたら、Pixivページに「〇〇さんをFANBOXで支援しよう」というリンクが現れます。

 支援したいクリエイターのページに行って、下の図のリンクをクリックして下さい。

f:id:M_Atelier:20180506101301p:plain

 


クリエイターのPixivFANBOXページに移動しました。自分の好きな金額を選んだら、「支援する」ボタンを押します。今回は月100円のプランにしました。

f:id:M_Atelier:20180505221150p:plain

 

お支払方法の指定画面で、「クレジットカードでお支払い」を選びます。

f:id:M_Atelier:20180505221205j:plain

 

コンビニで購入してきた、バニラVISAカードの情報を入力します。

f:id:M_Atelier:20180505221222j:plain


カード番号:バニラVISAカードの表面下部にある16桁の番号です。


カード名義人:名前を半角ローマ字で入力します。


有効期限:こちらも、バニラVISAカード表面に記入されています。


セキュリティーコード:バニラVISAカードの裏面、中央右端の3桁の番号です。

 

 

カード番号を登録後、支援するボタンを押します。

f:id:M_Atelier:20180505222741j:plain

 

こちらの画面が出たら、PixivFANBOXの支援登録完了です。

f:id:M_Atelier:20180505221309p:plain

 

 

バニラVISAの残高を確認する

最期に、残高の確認方法です。

以下のページで残高を確認することができます。 ↓

vvgift.jp

 

確認方法

・お問い合わせ用お客様番号(カード表の下部)
・セキュリティーコード(カード裏の中央右側)
・画面に表示される文字列
を入力し、「次へ」を押す。


残高の確認画面になります。

f:id:M_Atelier:20180505221326p:plain

 

以上です。

 りょうと様(「りょうと」[pixiv] )、Pixiv FANBOXのページご提供いただきありがとうございました。

Python入門 3.リストの使い方

 前回、文字や数字を変数に代入することについて勉強しました。今回は、「リスト」について勉強しようと思います。

前回はこちら

マンガで分かるPython入門 「第2話 変数と代入を使う」 - みやまのアトリエ

 

f:id:M_Atelier:20180501213533p:plain

リストって何?

 以下のプログラムを書いて、実行してみてください。

プログラム

moji = "お願いしますプリ"
print (moji[0:6])

実行結果

お願いします

                               f:id:M_Atelier:20180501213702p:plain

 「お願いしますプリ」から「プリ」が除かれ、「お願いします」の文字だけが出力されましたね。このプログラムの内容を説明します。

 文字が変数に入れられるとき、実際には次の絵のようになっています。

f:id:M_Atelier:20180501213940p:plain

 文字を変数に代入すると、「moji」と書かれた“お部屋の沢山ある箱”が用意されます。これを「リスト」と呼んでいます。
 そこに文字が一文字ずつ格納され、0番から順に番号が割り振られます。この番号を、インデックスと呼んでいます。
※注意:番号は0番から始まります。1番ではありませんので、注意してください。

 

 先程のプログラムで「お願いします」だけを取り出すには、「moji」の箱の先頭「インデックス0番」から、6文字目「インデックス5番」までを取り出してくる必要がありますね。
 moji[0:6]は、「“お願いしますプリ”の文字が入っている箱の中から、“番号0~番号6の前まで”を取り出しなさい」という意味があります。

f:id:M_Atelier:20180501214027p:plain


 これで、「プリ」を取り除いた「お願いします」の文字だけを取り出すことができたのです。語尾カットホンの完成ですね。


紫京院ひびき「語尾が聞こえない…!これは語尾カットホン…!!」

 

文字を取り出す方法は他にもいくつかありますので、ここで紹介しておきます。

・文字[番号]:インデックス番号の1文字を取り出す
・文字[番号A:番号B]:インデックス番号A~Bの前までを取り出す
・文字[番号A :]:インデックス番号Aから最後までを取り出す
・文字[: 番号B]:先頭からインデックス番号Bの前までを取り出す

 

moji = "お願いしますプリ"
print (moji[1])
print (moji[0:6])
print (moji[6:])
print (moji[:6])

実行結果


お願いします
プリ
お願いします
図で示すと…

f:id:M_Atelier:20180501214209p:plain

 このように、リストに入れられた文字を任意に取り出してくることができます。

 

リストを作る

 リストは自分で作ることもできます。沢山のデータを取り扱うとき、リストは必須となりますので理解を深めておきましょう。
 次のプログラムを書いて、実行してみてください。


プログラム

precure = ["ミラクル","マジカル","マリン","トゥインクル"]
print("キュア"+precure[0])


実行結果

 precureという名前のリストを作り、そこに4つの文字"ミラクル","マジカル","マリン","トゥインクル"を代入しました。ミラクルにはインデックス番号「0」番が割り振られているので、precure[0]と書くことで、「ミラクル」を取り出してくることができます。その様子を下に示します。

f:id:M_Atelier:20180501214112p:plain

 このように、沢山のデータを取り扱うとき、リストにまとめて取り扱います。
 2018年でプリキュアも55人になったと言われています。わざわざ変数を55個用意するより、55人分のプリキュアリストを1つ作った方がプログラムも見やすくなりますね。

f:id:M_Atelier:20180501214449p:plain

 

 文字だけでなく、数字のリストを作ることも出来ます。
プログラム

kazu = [10,30,50,30,20]
print (kazu[2])

実行結果

50

 

辞書を理解する

 リストのデータにアクセスするには、インデックス番号を指定する必要がありますが、どのインデックス番号にどのデータが入っているかが分からなくなってしまいます。
 番号ではなく、miracleと書けばキュアミラクル、majicalと書けばキュアマジカルにアクセス出来たら便利ではないでしょうか。そこで、番号の代わりに自分の好きなキーワードで指定できるリスト「辞書」を説明します。

 

プログラム

precure = dict (
miracle = "キュアミラクル",
magical = "キュアマジカル",
marine = "キュアマリン",
twinkle = "キュアトゥインクル"
)
print (precure["magical"])

実行結果

 

 今までは各プリキュアの箱に番号が割り振られていましたが、分かり易いキーワード「magical」等で取り出してくることが出来るようになります。

  f:id:M_Atelier:20180501214351p:plain

  例えば、キュアトゥインクルを取り出したい場合は、「precure[twinkle]」と書きます。

変更できないリストを作成する

 リストに代入した内容は、変更出来ない方が都合の良い時もあります。「タプル」を用いることで、「一度代入したら、変更できないリスト」を作ることができます。
 ()内に、「,」でデータを区切り、代入します。通常のリストと異なる点は、

[ ]ではなく( )を使う点です。※タプルにおいて( )は省略して書く場合もあります。

プログラム

実行結果

 

 基本的な使い方はリストと同じですが、タプルは内容を入れ替えようとすると、エラーが出ます。下に例を示します。
プログラム

precure2 = ("キュアミラクル","キュアマジカル","キュアマリン","キュアトゥインクル")
precure2[2] = "キュアホイップ"

実行結果

TypeError: 'tuple' object does not support item assignment

 タプル(touple)は、一度代入した内容(item)を割り当てる(assignment)できません。という意味になります。

 タプルの内容「キュアマリン」を「キュアホイップ」に変更しようとしたため、エラーが発生しました。

 

今回のまとめ f:id:M_Atelier:20180501214616p:plain

 

 

次回は、「プログラムの流れを変える」です。

atelier.hatenadiary.com

マンガで分かるPython入門 「第2話 変数と代入を使う」

f:id:M_Atelier:20180429001117p:plain

 

f:id:M_Atelier:20180428223551p:plain


 前回、print文を用いることで、パソコンの画面に「文字」や「計算」を表示できることが分かりました。

print ("Hello World")   
(実行結果)  ⇒   HelloWorld  と表示される

 

 前回はこちら↓

マンガで分かるPython入門 「第1話 Pythonって何?」 - みやまのアトリエ

 

 今回は、 プログラミングの世界でよく使用する「変数」という“箱”について説明しようと思います。

f:id:M_Atelier:20180429002700p:plain

 

前回作ったプログラムを次のように変更してください。

 

プログラム

moji = "Hello World"
print (moji)

 

実行結果

 

 同じ結果が得られたと思います。しかし、前回とはプログラムの動きが異なります。
図解すると…

f:id:M_Atelier:20180426211252p:plain

 

 このように、「変数」は、文字や数値を入れておく“箱”の役割を果たします。指示内容「Hello World」を一度「moji」と書いた箱に入れ、「その箱の内容を言いなさい(printしなさい)」とパソコンに指示することになります。

  

 変数には文字だけでなく「数値」を入れることもできます。

 

プログラム

kazu = 3+6
print (kazu)

 

実行結果

9

 数値の場合、自動で計算され、計算結果が表示されましたね。 

 

変数のルール

 文字や数値を箱に入れることを「変数に代入する」と言います。その箱の名前は、「変数名」と言います。

 

「変数への代入」 変数名 = 文字または数値

f:id:M_Atelier:20180426211406p:plain

 今は行数が増えて不便に感じるかもしれませんが、これら変数について理解しておくと後々便利なプログラムが書けるようになります。少し理解を深めてみましょう。

 

その1 文字を入れる変数、数字を入れる変数は分けてください

 変数に代入するとき、文字は「""」を付けて、数値は「""」を付けずに代入してください。

      f:id:M_Atelier:20180426211445p:plain


プログラム

moji = "3+6の答えは"
kazu = 3+6
print (moji,kazu)


実行結果

3+6の答えは9


ここでは、

  • 「"3+6の答えは"」 という文字を変数mojiに代入
  • 「3+6」という数値を変数kazuに代入
    しています。最後に、文字と数値を合わせてprint文で出力しました。

その2 変数は何度でも代入できます

 

プログラム

moji = "Hello World"
moji = "かしこまっ"
print (moji)


実行結果

かしこまっ

 一度「Hello World」を変数「moji」に代入しましたが、再度「かしこまっ」を代入しました。もともと変数「moji」に入れられていた「Hello World」は取り出され、新しく「かしこまっ」が代入されることになります。
 数値の入っていた変数に文字を入れ直したり、文字の入っていた変数に数字を入れ直すこともできます。

                       f:id:M_Atelier:20180426211512p:plain

その3 変数の内容は、別の変数にコピーすることが出来ます

プログラム

mojiA = "ぷり"
mojiB = mojiA
print (mojiA)
print (mojiB)


実行結果

ぷり
ぷり

 この場合、変数mojiAに入れた文字「ぷり」を変数mojiBに「コピー」することになります。結果、「ぷり」が2つの変数「mojiA」「mojiB」に入っています。

                          f:id:M_Atelier:20180426211609p:plain

その4 変数を使って式を組み立てることも出来ます。


プログラム

kazuA = 10
kazuB = 25
kazuC = kazuA + kazuB
print (kazuC)


実行結果

35

      f:id:M_Atelier:20180426211731p:plain

 

ただし、数字と文字を混在させるとエラーが出ます。例えば、


プログラム

kazuA = 10
kazuB = "ぷり"
kazuC = kazuA + kazuB
print (kazuC)


実行結果

TypeError: unsupported operand type(s) for +: 'int' and 'str'

 このエラーは「数値と文字を足し算することは出来ないぷり~」って意味になります。intは数値、strは文字を表しています。

 

その5 箱の名前には少しルールがあります

変数名は次のルールがあります。

  • 1文字目は英文字を使用する
  • 2文字目以降は英文字、数字、アンダーバーを使用できる
  • 大文字は大文字、小文字は小文字で別々
  • 予約語は使用してはいけない

 

MEMO 予約語って何よ?
予約語は電話番号でいう110や119のように、「もう使用されてるから番号として使っちゃいけません!」って番号です。よく使用している「print」も、「画面に出力する」という予約語の一つです。

 print以外には、「for」「if」「class」などがあります。

 

練習

 下のプログラムには間違いがありますので、プログラムを書いて、実行してみて、間違い探しをしてください。


練習プログラム1

mojiA = ぷり
mojiB = mojiA
mojiA = "ありがとう"
print (mojiA,mojiB)

 

練習プログラム2

name = "南みれい"
ketueki = "A型"
gobi = "ぷり"
taisaku = "語尾カットホン"
month = 10
day = 1

 

print ("名前:", name)
print (血液型:,ketueki)
print ("語尾:" gobi)
print ("対策:" ,taisaku)
print ("誕生日:", month,"月",day,"日")

 

よく出るエラー

 書いたプログラムにミスがあると、実行したときに赤文字でエラーが表示されます。現段階でよく出てくるエラーをいくつか紹介します。


Missing parentheses in call tp 'print'. Did you mean print(○○)?


print 文の カギカッコ()を忘れていると起こります。
✖    print  name
〇 print (name)


NameError: name 'ptint' is not defined


print を間違えて ptint と入力しました。
変数名も、1文字でも間違えていればこのエラーが表示されます。


(例)
kazu = 10
print (kazo)


Syntax Error invalid systax

 

プログラムの記述ミスが原因で表示されます。例えば、「,」が無い、などのことで発生することもあります。赤色で強調されたら、その付近に忘れ物が無いか見てみましょう。

   f:id:M_Atelier:20180426211852p:plain

 

今回のまとめ

f:id:M_Atelier:20180426211406p:plain

 

 次回は「リスト」について勉強していきます。

atelier.hatenadiary.com

マンガで分かるPython入門 「第1話 Pythonって何?」

 お絵描き趣味のPython初心者が独学でプログラミング勉強してますので、その報告。
マンガは横文字なので、左から右に読んでください(/・ω・)/

 

 

第1話 Pythonって何? 

f:id:M_Atelier:20180424210228p:plain

  

 

f:id:M_Atelier:20180424210243p:plain

 

f:id:M_Atelier:20180426202726p:plain

Pythonって何?

 スマホ、パソコンで実行されているアプリやゲームは、全て「プログラム」という命令文で動いています。この命令文を作るのがプログラミングです。パソコンは日本語や英語は理解できないので、私たちが「プログラミング言語」を覚えて、パソコンに命令する必要があります。
 Python(パイソン)は数あるプログラミング言語の一つです。他のプログラミング言語に比べて記述がシンプルで、比較的覚えやすいことが特徴です。きっと高校英語を覚えるより簡単だと思います。

                          f:id:M_Atelier:20180424210347p:plain

 「Python」は自分のパソコンにインストールすることで、プログラムを書いて、アプリやゲームを作成できるようになります。


 これから、Pythonのダウンロード方法、インストール方法、簡単なプログラムの作成と実行方法を説明します。

 

Pythonのダウンロードとインストール

 以下ウェブサイトから、Pythonをダウンロードします。

www.python.org


 ページの下の方に、Downloadsとありますので、「Windows]を選んでください。

f:id:M_Atelier:20180424214429p:plain


 現時点で最新の「python-3.7.0」をダウンロードしたいと思います。「python-3.7.0b3-2018-03-29」の下にある「Download Windows x86-64 executable installer」をクリックしてください。

f:id:M_Atelier:20180424214444p:plain

 クリックすると、パソコンから操作を促されます。「名前を付けて保存」を選んでください。自分の好きな場所に保存して構いませんが、見失わないように「デスクトップ」に保存します。

f:id:M_Atelier:20180424214509p:plain

    f:id:M_Atelier:20180424214513p:plain


 ダウンロードはこれで完了です。次に、Pythonをパソコンにインストールします。
※ダウンロードしてきた「python-3.7.0b3-amd64」は、Pythonのインストールが完了したら、削除したり好きな場所に保管しても構いません。

 

Pythonのインストール

 ダウンロードしてきた「python-3.7.0b3-amd64」をダブルクリックします。

f:id:M_Atelier:20180424214603p:plain

 インストール用のセットアップ画面が開きます。必ず画面下の「Add Python 3.7 to PATH」にチェックを入れてから、「Install Now]をクリックしてください。

※チェックを入れないと、プログラムの作成はできても、実行が出来ない場合があります。必ずチェックを入れるようにしてください。

f:id:M_Atelier:20180424214629p:plain


※別途「このアプリがデバイスに変更を加えることを許可しますか?」と聞かれたら「はい」を押してください。


 インストールが完了したら、完了画面が現れます。

f:id:M_Atelier:20180424214650p:plain


これでインストールは完了です。

 

プログラムの作成と実行

 スタートメニューから、「Python 3.7]を探してください。Python3.7をクリックすると、メニューが開きます。メニュー内の、「IDLE(Python 3.7 64bit)」をクリックしてください。IDLEというアプリが開きます。

f:id:M_Atelier:20180424214807p:plain

 

f:id:M_Atelier:20180424210643p:plain

 ※IDLEは、Pythonのプログラムを作成したり、実行したりできるアプリです。

 

MEMO

 IDLEを右クリックして、「スタートにピン留めする」をクリックすると、メニュー画面にIDLEが現れます。ピン留めしておくと、次回からIDLEを使うときに便利になります。f:id:M_Atelier:20180424214923p:plain

 

 次に、「Fileから」、「New File」を選んでください。f:id:M_Atelier:20180424214950p:plain

 

 新しく「エディター」という画面が開きます。このエディターに、プログラムを書いていきます。

f:id:M_Atelier:20180424221157p:plain

 今回は、「パソコンに“Hello World”という文字列を表示」するプログラムを作成します。


エディターに、次の一文を記入してください。

print (" Hello World ")

f:id:M_Atelier:20180424215106p:plain


「print」は、パソコンに「(" ")内の文字を表示しなさい!」という命令文です。ここでは、「Hello Worldという文字を表示しなさい!」と指示することになります。

  f:id:M_Atelier:20180424210841p:plain


 プログラムを書き終わったら、保存しておきます。エディターのFileから、Saveを選んでください。

f:id:M_Atelier:20180424215257p:plain


 プログラムの保存場所を尋ねられます。自分の好きな場所で構いませんが、「ドキュメント」内に「Python]というフォルダを作って、こちらに保存しました。名前も好きに決めて構いません。分かりやすいように「01_helloworld」と名付けました。

f:id:M_Atelier:20180424215318p:plain

f:id:M_Atelier:20180424215325p:plain


 保存が終わったら、ドキュメント内のPythonフォルダを見てみましょう。そこにあるヘビのエンブレムが、先程作成したプログラムです。

f:id:M_Atelier:20180424223553p:plain

 

 

 プログラムの作成は以上です。最後に、作ったプログラムを実行してみます。

 

 プログラムを記入したエディターのメニューの、「Run」内に、「Run Module」というメニューがあります。これをクリックすると、作成したプログラムが実行され、動き出します。

f:id:M_Atelier:20180424215420p:plain

 

 こちらの画面がプログラムを実行した画面です。「Hello World」の文字が表示されてますね。

f:id:M_Atelier:20180424215753p:plain

     

 

 せっかくプログラムを作成したので、計算にも使用してみます。
先程プログラムを書いたエディターに、次のプログラムを書いてみて下さい。

 

プログラム

print (3+6)

「Run」⇒「Run Module」で実行すると、結果が得られます。

 

実行結果

9

 計算した結果が表示されましたね。 文字と数値では、どのような違いがあるのでしょうか。

 

print 文について -文字と数字の違い-


print文 の (  )内部は、
"  " で覆われてるとき、「文字」としてそのまま表示されます。
 入力  "文字"  "かしこまっ"     "3+7"

 結果    文字    かしこまっ        3+7 


"  " で覆われていないとき、「数値」として計算され、「
計算結果」が表示されます。
 入力  3   6   4+5     3*8

 結果  3      6      9        24 


 

 文字と数値を組み合わせることもできます。文字と数値は、「,」マークで区切ってください。

 

プログラム

print ("3+6=", 3+6)

これを実行すると…

 

 実行結果

3+6=9

と表示されます。

 

f:id:M_Atelier:20180426203142p:plain

 

以上です。次のテーマは「変数と代入」です。

atelier.hatenadiary.com

 

 プログラミング中に何か分からないことや疑問点があったら、コメントやTwitterにてご連絡ください(/・ω・)/ 何かしらお力になれるかもしれません。