レッスン 21
レッスンの目標⌗
パイソンの基本勉強してみましょう
プログラミング入門(python)⌗
簡単なプログラムを自分で作ってみます。 ゲームと違ってあまり面白くはありませんが、プログラミングの基本なので頑張ってやりましょう。
文字を出力する⌗
python で文字を出力するにはprint()
という命令を使います。文字は""
で囲います。
自分の名前を出力するプログラムは以下の1行です。
print("私の名前はけんです。")
「けん」という部分を自分の名前に変えて、プログラムを作成し、p01.py
という名前で保存して、下記のように実行してみてください。
python3 p01.py
私の名前は...です。
と表示されます。
変数を使う⌗
今回けんという部分を自分の名前に変えました。1か所だけなら直接書きかえても問題ありませんが、けんが何か所も出てくるとそのたびに書きかえなければならなくて大変です。 そこでけんという部分を以下のようにします。
name = "けん"
print("私の名前は", name, "です。")
先ほどのp01.pyを上記のように書き換えて、下記のように 実行してみてください。
python3 p01.py
私の名前は ... です。
と表示されます。
こうすることで、名前が何か所でてきてもname = "けん"
の1か所を書き換えるだけで、全ての名前が変わります。
name
のような書き換え可能なものを変数と呼びます。
変数には名前のような文字だけでなく数値などいろいろなものを入れることができます。
名前を入力する⌗
名前を直接プログラムに書き込むのではなく、入力して表示するようにします。
文字を入力するにはinput()
という命令を使います。
input()
だけでは何を入力したらいいのかわからなくなってしまうので、質問文をinput()
の中に書き込みます。
p01.py
を以下のように書き換えてみましょう。
name = input("あなたの名前は? ")
print("私の名前は", name, "です。")
書き換えてファイルを保存したら、実行してみましょう。
python3 p01.py
あなたの名前は? ...
私の名前は ... です。
**…**の部分に名前を入れると、その名前が表示されます。
数値の入力(変換)⌗
文字列だけでなく、1とか10とかの数値を入力してみましょう。
入力はinput()
で入力しますが、int()
で数値に変換します。
以下のように年齢も入力するようにp01.py
を書き換えてみましょう。
name = input("あなたの名前は? ")
print("私の名前は", name, "です。")
age = int(input("何歳ですか? "))
print("私は現在", age, "歳です。")
書き換えてファイルを保存したら、実行してみましょう。
python3 p01.py
あなたの名前は? ...
私の名前は ... です。
何歳ですか?...
私は現在 ... 歳です。
一見、文字列を入力したときとあまり変わりませんが、数値にすることで計算ができるようになります。 例えば、以下のように書き換えてみましょう。
name = input("あなたの名前は? ")
print("私の名前は", name, "です。")
age = int(input("何歳ですか?"))
print("私は来年", age+1, "歳です。")
書き換えてファイルを保存したら、実行してみましょう。
python3 p01.py
あなたの名前は? ...
私の名前は ... です。
何歳ですか?...
私は来年 ... 歳です。
入力した歳+1歳が表示されます。 ちなみに、数値を入力するべきところに数値以外のものを入力するとエラーになるので注意しましょう。
条件文⌗
入力した数値によって表示する内容を変えることができます。このようなやりかたを条件文といいます。 例えば、20歳以上ならお酒が飲めますが、20歳未満ならお酒は飲めません。そこで、先ほど入力した年齢で、この人がお酒がのめるかどうかを判定するプログラムを追加してみます。
name = input("あなたの名前は? ")
print("私の名前は", name, "です。")
age = int(input("何歳ですか?"))
print("私は来年", age+1, "歳です。")
if age >= 20:
print("私はお酒が飲めます。")
else:
print("私はお酒が飲めません。")
書き換えてファイルを保存したら、実行してみましょう。
python3 p01.py
あなたの名前は? ...
私の名前は ... です。
何歳ですか?...
私は来年 ... 歳です。
私はお酒が飲めます/飲めません。
入力した年齢によって飲めますになったり飲めませんになったり変化します。 条件文は以下のように書きます。
if 比較文:
比較条件にあったときの処理
else:
比較条件にあわなかったときの処理
else
以下の条件にあわなかったときの処理は必要なければ記述しなくても構いません。
比較文には次のようなものがあります。
a == b # aとbが等しい
a != b # aとbが異なる
a > b # bよりaが大きい
a >= b # bよりaが大きいか等しい
a < b # bよりaが小さい
a <= b # bよりaが小さいか等しい
ちなみに#
はそれ以降の文がコメントといってプログラムとは関係のない説明文であるという意味です。したがってこの部分は書き換えてもなくてもプログラムには影響しません。プログラムが何をしているか他人にもわかるように、わかりやすいコメントを入れるにしましょう。
繰り返し⌗
今までのプログラムを3回繰り返すようにします。もちろん同じプログラムを3回書けば実現できますが、例えば100回だったら100回コピペしなければなりませんし、プログラムも長くなり、修正するのも100回直さなければならなくなります。 そこで以下のような繰り返し命令を使えば、簡単に好きな回数プログラムを繰り返せるようになります。
for i in range(3):
繰り返すプログラム
3の部分を書き換えれば好きな回数に変更できます。ここにnのような変数を入れておけば、nを書き換えるだけで好きな回数に簡単に変更できます。
p01.py
を3回繰り返すように書き換えてみましょう。
for i in range(3):
name = input("あなたの名前は? ")
print("私の名前は", name, "です。")
age = int(input("何歳ですか?"))
print("私は来年", age+1, "歳です。")
if age >= 20:
print("私はお酒が飲めます。")
else:
print("私はお酒が飲めません。")
for
文の後は、全体を1つずつTabをつかって右にずらす必要があるので注意しましょう。
書き換えてファイルを保存したら、実行してみましょう。
python3 p01.py
あなたの名前は? ...
私の名前は ... です。
何歳ですか?...
私は来年 ... 歳です。
私はお酒が飲めます/飲めません。
...
上記の質問が3回繰り返されます。
なお、for
の後のi
は回数ごとに0,1,2と値が変わる変数です。これを使えば今何回目かがわかります。
この値を使うように書き換えてみましょう。
for i in range(3):
print(i+1, "回目:")
name = input("あなたの名前は? ")
print("私の名前は", name, "です。")
age = int(input("何歳ですか?"))
print("私は来年", age+1, "歳です。")
if age >= 20:
print("私はお酒が飲めます。")
else:
print("私はお酒が飲めません。")
書き換えてファイルを保存したら、実行してみましょう。
python3 p01.py
1 回目:
あなたの名前は? ...
私の名前は ... です。
何歳ですか?...
私は来年 ... 歳です。
私はお酒が飲めます/飲めません。
...
2 回目:
...
3 回目:
...
i
は0から始まるので、+1
して表示しています。