プログラミング入門 情報科学演習
2025.10.20
プログラムを作成して実行してみるとエラーとなる場合がよくあります.その際にエラーメッセージを IDLE のシェルに表示してくれるのですが,その時にはエラーが生じた原因が何行目にあるのかも教えてくれます.そのため,エディタで行番号を表示させることは必須と言っても過言ではありません.皆さんも行番号を表示させる設定を行っておいてください.
Options メニューから Show Line Numbers を選択するだけです.

図1 行番号表示の設定

図2 5行目の print の中で文字列を ' で閉じるのを忘れている場合

図3 5行目の print の中の f 文字列で指定している変数 number は定義されていない場合
print('Hello, world!')
|
Pythonでは記号 # の後に続く文字はその説明文(コメント)としてプログラムの動作とは関係なくなります.教科書にも書いてありますがハッシュ # はシャープ ♯ とは違う記号なので,間違えないでください.
ときどきすべての行の間に空行を入れる人もいるのですが,それは逆に見づらくなりますので,きちんと処理の切れ目の部分に空行を入れるようにしてください.
print 関数のツボ
print('hoge')
|
文字列 hoge を画面に出力 |
print(hege) |
変数 hege の値を文字列として画面に出力 |
print('hoge' + hege)
|
文字列 hoge に続けて変数 hege の値を文字列として画面に出力 |
print('hoge', hege)
|
文字列 hoge を画面に表示した後で空白文字の後に変数 hege の値を文字列として画面に出力 |
上で説明したように print 関数が出力するのは文字列のみです.文字列の中に変数の値を入れて出力したい場合には後述の f 文字列を称します.
Python で他の言語と少し違うのは,この print 関数で画面に文字列を表示させる場合に文字列の最後に自動で改行してくれることです.他の言語の大半は自分で改行文字を入れないと改行してくれません.そのため,改行したくない場合には Python では逆に改行しないために文字列の表示の後に改行しないための引数が必要になります.
print('Hello, ', end='')
print('world!')
|
ここまでは文字列を画面に表示させることを行いましたが,プログラムにおいては計算した数値や変数の値などを表示させることが頻繁に行われます.そのため,数値や文字列を一緒くたにして表示させるための書式化を行うための方法の一つが f 文字列です.重要ですので,ぜひ理解してください.
print(f'hoge {hege}')
|
教科書の p.152 からより詳細な文字列の書式化の説明があります.そのときにまた詳細は学習しなおします.
乱数を発生させる関数を読み込むためにはモジュールの読み込みが必要です.今回は,教科書 p.98 にあるモジュールの random を読み込みます.読み込むメソッドは import です.
整数の乱数を発生させる際には,教科書 p.98 にある randint() を使用します.次のプログラムは3桁と1から20までの乱数を発生させるプログラムです.
import random
num1 = random.randint(100, 999)
num2 = random.randint(1, 20)
print(f'Random number with 3 digits: {num1}')
print(f'Random number between 1 and 20: {num2}')
|
Random number with 3 digits: 473 Random number between 1 and 20: 16 |
関数の random() は0から1の間の小数を発生させる関数です.
import random
num = random.random()
print(f'Random number between 0 and 1: {num}')
|
Random number between 0 and 1: 0.7772063796213998 |
乱数を使用する時にモジュールの random を読み込みます.そこで,注意が必要なのですが,もし自分が作ったプログラムを random.py として保存してしまうと,モジュールとしてその自分のプログラムを読み込むことになるので,当然エラーとなります.ということで,モジュールと同じ名前のファイル名は決してつけないでください.
実は Python には他にもたくさんの乱数を発生する関数があります.便利そうなものを2つほど紹介しておきます.
この関数は以下のように引数を用意します.
random.randrange(start, stop, setp) |
start 以上で stop 以下の整数の中から乱数をつくりますが,start から step 分とびとびの値から乱数を選びます.なので,start が偶数で step が 2 だと,偶数の乱数を発生することになります.
正規分布に従った乱数を発生させる関数です.詳細は説明しませんが,データ処理の例題データを作る際に活用できます.
本日の演習問題です.予習用に一部が見えています.
print 関数は引数として与えた文字列を画面に出力します.出力するのは文字列であることに注意しましょう.変数を引数にすると,変数の値を文字列として表示します.
文字列や変数の値を混在させて表示させる際に,文字列の結合やカンマで区切って引数に加えるなどの方法では見た目が煩雑になりますので,文字列に値を埋め込む方法があります.それが f 文字列です.この授業では今後毎回必ず使用しますので,しっかり理解しておきましょう.
プログラム上で乱数を使うために random モジュールをインポートして関数を用いて種々の乱数を発生させることを学習しました.今後も毎週乱数を使用しますので,早く慣れていきましょう.
教科書p.45-73までの if 文を扱います.
課題の提出においては,解答用紙を使用します.以下にサンプル(あくまでサンプル)を用意していますので,確認してください.
開いてみるとわかるように,まずは上部の学生番号と氏名を自分のものに変更してください.その上で,プログラム本体の中にも学生番号を出力する print 関数がありますので,その部分の学生番号も自分のものに変更してください.

図4 解答用紙見本
実際のプログラムはその学生番号を出力する print 文の後に作りますが,最後にハイフンのラインを出力する print 文の前までとしてください.そのハイフンラインは必要ですので,削除しないでください.
課題の提示と提出にはMoodleを使用します.課題の公開は原則として授業翌日の火曜日の10:00以降で,提出締切りは翌週の月曜日の13:00です.