本日の課題では,「N人」「1~n番目」として,大文字のNと小文字のnが書かれています.
Pythonでは,変数名に大文字を使用してもかまいませんが,大文字と小文字は区別されます.「N = 10」と「n = 10」は,異なる変数への代入となります.
「N = int(input())」により,生徒の数を変数Nに代入し,プログラムの終了まで,この値は変えないようにして,「1~n番目」を「n番目(1≦n≦N)」に読み替えてfor文で記述し,繰り返しの処理によりnの値を変化させる,というのが,一つの書き方です.
とはいえPythonでは,変数名や関数名は小文字で書くのが一般的です.必要に応じて数字も使用します.a1とa2とa12とa21は,それぞれ異なる変数です.
さらに,「_」の文字(下線記号,アンダースコア)も活用します.日本語キーボードだと,右のシフトキーの,一つ左のキーを打つと表示される文字です.
例えば,大文字を使用せず,nの最大値を(nと別の変数名で)表すような変数名は,n_maxのように書くといいでしょう.
小文字で書き,複数の語を組み合わせて1つの変数名にするときに「_」で区切る,という書き方は,スネークケース(snake_case)と呼ばれます.
また別の書き方もあります.キャメルケース(CamelCase)といいます.下線記号は使わずに,複数の語を組み合わせて1つの名前にするとき,語の先頭を大文字にします.https://docs.python.org/ja/3/tutorial/classes.html#inheritanceの「DerivedClassName」と「BaseClassName」が,キャメルケースの表記例です.授業の対象外ですが,変数でも関数でもない「クラス」の名前は,キャメルケースにします.
スネークケースとキャメルケースの使い分けをはじめ,Pythonでプログラムを書くときの慣習(コーディング規約)については,以下のページが入門向けで分かりやすく書かれています.
ところで,caseだけだと,「ケース(入れ物)」です.英字の大文字・小文字の話で,caseという単語が使用されるのは,活字印刷が行われたころの入れ物に由来します.大文字をupper case,小文字をlower caseで表すのも,活字の入れ物と関係があります.
ついでにあと2つ,この機会に単語を覚えてください.「大文字・小文字の区別をする」という意味の形容詞があって,case-sensitiveと書きます.「大文字・小文字の区別をしない」は,case-insensitiveです.
本日の課題?
上記は,先週木曜が最終回の授業資料をもとに作成し,その日にTeamsで投稿した文章をもとにしています.
課題そのものの公開は差し控えたいと思います.