きっかけなんて些細なモンですよ。

NEW GAME!を観ました。プログラミング始めます。(4)

阿波根を遠くから見守るねねっち…仲良しだね!

f:id:kirintt:20170824185722p:plain

今回は実際にプログラムを動かすぞ!

☟前回の記事 

※基本的に、愛知大学の有澤先生がプログラミングの講義で使用しているテキスト「Pythonによるプログラミング入門」に沿って進めています。

 

 

準備ー作業フォルダの作成

まずは、これからプログラミングをしていくための作業フォルダを作った。

f:id:kirintt:20170824190158p:plain

  • わかりやすい名前に。

初めてのプログラミングーその1

ここでは、"OK"と表示されるプログラムを作成する。

エディタを開く

プログラムを書くためのエディタを開く。

f:id:kirintt:20170824191110p:plain

プログラムを打ち込む

f:id:kirintt:20170824190544p:plain

  • 勝手に色が変わった。エディタが役割ごとに色分けしてくれるっぽい。

ファイルに保存

上の画像のように、"Untitled"と表示された状態ではプログラムが実行できないらしい。そこで、書いたプログラムをファイルに保存する。

f:id:kirintt:20170824192305p:plain

  • File>Save As
  • "Save As..."は名前を付けて保存
  • "Save"は上書き保存

f:id:kirintt:20170824192420p:plain

  • 保存先のフォルダを間違えそうになった
  • ファイル名の最後に".py"

実行

作成したプログラムを動かす。

f:id:kirintt:20170824192701p:plain

  • Run>Run Module

結果はPython Shellという新しい画面に表示される。

f:id:kirintt:20170824192813p:plain

  • OK

初めてのプログラミングーその2

プログラムの内容・注意点

1か月分のカレンダーを表示するプログラム(「Pythonによるプログラミング入門」p. 13)

f:id:kirintt:20170824192942p:plainカレンダープログラム

  • "#" コメントアウト
  • "# coding: shift-jis" 日本語Windows環境で日本語の文字を使います、という宣言。
  • 各行左側の空白(字下げ空白)の数は統一する。tabとスペースの混在はNG(今回はtabを使用した)。
  • 単語と単語の間の空白はそれらを区切る役割。他に、","などの区切り記号も。
  • ☝ここまでテキストの説明。ほかの箇所は何をしてるのか全くわからない…。

f:id:kirintt:20170824193248p:plain

  • コピペした際、赤丸の部分のスペース(カレンダープログラムの図)について、本来半角スペース2つのところが1つになっていたようで、1週目の余白がずれてしまった(1つ目の結果)。
  • 半角スペースを2つにすることで、整った形で表示された(2つ目の結果)。

エラー

プログラムに問題があるとエラーが表示され、正しく実行されない。

Syntax Error

f:id:kirintt:20170824194919p:plain

  • 文法上のエラー。
  • 今回は、本来":"のところを";"としてみた(図中では赤の蛍光ペンで指摘されている)。
Name Error

f:id:kirintt:20170824195154p:plain

  • 存在しない変数を参照した際のエラー。
  • 今回は、本来"wday"のところを"wdays"とした。エラーの表示でもその部分が指摘されている。

練習問題

問1

2000 年 4 月のカレンダーを表示。

  • 最後の行を"cal0(6, 30)"とすればOK(スクショ略)。

問2

SyntaxError と NameError 以外の、実行に至らないエラー。

f:id:kirintt:20170824195750p:plain

  • 1行目を削除することで、文字コードがわからず実行されない。

問3

最後まで実行はするのだが変な結果を表示するプログラムの例。(カレンダープログラムを 1 文字だけ変更)

f:id:kirintt:20170824195616p:plain

  • 曜日に該当する数は0~6だが、7と入力してみた。
  • 1週目の月~金がすべて"  ---"となり、その右から1がスタートした。

 

以上。

このテキスト、練習問題の解答は付いてないのかな?