ここではPythonの基本的な機能を使用して、オリジナルのプログラムを作成します。
入門者・初心者向けの内容です。
for、range、print、list、“”” “”” 三重引用符の使い方を実践することができます。
Macでターミナルを使用していますが、Windowsではコマンドプロンプトに置き換えてお読みください。
用語解説
- ターミナル・・・Macのコマンド実行ツールです。
- SublimeText・・・プログラムを記述するエディターです。
繰り返すTODOリスト
新年が始まる時などに、1年の目標を立てる方は多いと思います。
しかし、1年の終わり頃には、年初に立てた目標を思い出せない方が多いのではないでしょうか?
目標や計画を立てるだけで終わるのではなく、振り返った時に確認できるように、TODOリストを作成したいと思います。
TODOリストは、メモ帳やエバーノートに貼り付けて使える、テキストベースのものにします。
1月から12月まで、毎月同じTODOリストを作ります。
また、あとでTODOが増えたり、減ったりした場合は、容易に修正できるようにします。
作成するTODOリスト
とてもシンプルですが、完成系は次のテキストタイプのTODOリストです。
Sublime Textで記述したプログラムをターミナルで実行して、結果をターミナルに表示させます。
簡単にコピーペーストすれば作れるTODOリストですが、Pythonの学習が目的ですから、Pythonで書きましょう。
実際に自分の作りたいプログラムを書く時には、思わぬエラーや覚えていない関数を調べることがあると思います。
そういった意味で、コードを書くことが必要です。
1月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
2月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
3月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
4月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
5月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
6月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
7月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
8月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
9月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
10月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
11月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
12月
[]Pythonを復習または学習しましたか?
[]Djangoを復習しましたか?
[]Pandasを復習または学習しましたか?
[]ラズベリーパイで何を学習しましたか?
プログラムコード
先ほどの結果が得られるプログラムの書き方を大きく分けて2つ紹介いたします。
いずれもfor文を使用する点は同じですが、三重引用符を使用する方法と、リストを使用する方法の2通りをご紹介します。
三重引用符を使用する方法
三重引用符は、文字列を書いた通りに出力することができます。
トリプルクォートとも呼びます。
改行コードを使うことなく、書いた通りに改行も出力されます。
次のプログラムが実際のコードです。
for i in range(1,13): print(str(i) + "月") print(""" []Pythonを復習または学習しましたか? []Djangoを復習しましたか? []Pandasを復習または学習しましたか? []ラズベリーパイで何を学習しましたか? """)
ターミナルで実行
上記のプログラムをエディターで記述して、適当な名前でファイル名をつけます。
今回は、「todo3kou.py」というファイル名にして保存しました。
Macでターミナルを開いて、実行コードをタイプし、エンターを押してプログラムを実行してみてください。
user@computer$ python todo3kou.py
最初にご紹介した結果が、ターミナル上に出力されます。
上記のコマンドでエラーが発生した場合は、次のコマンドを試してみてください。
user@computer$ python3 todo3kou.py
次にリストを使用したプログラムをご紹介します。
リストを使用する方法
Pythonのリストは、配列型の変数です。
[ ] で括った中に、文字列を記述します。
実際のプログラムは次のように書いています。
lists = ['Pythonを復習または学習しましたか?','Djangoを復習しましたか?','Pandasを復習または学習しましたか?','ラズベリーパイで何を学習しましたか?'] for i in range(1,13): print(str(i) + "月" + "\n") for list in lists: print('[]', end="") print(list + "\n")
先ほどと同様に、適当なファイル名をつけてプログラムを実行し、結果を確認してみてください。
最後にプログラムの中に出てきた関数等について一つずつ解説いたします。
for
for文を使うことで、同じ事を繰り返し書くことを節約できます。
range
for文と組み合わせて、rangeを使用することで、繰り返す回数を指定します。
今回は1月から12月を出力するため、rangeの値は1から13を指定しました。
str
strを使用しないと次のエラーが発生します。
print文の中に、intの数値型と、strの文字列型があり、異なる型同士は結合できません。というエラーです。
str( )を使用することで、このエラーを回避しています。
print(i + "月" + "\n") TypeError: unsupported operand type(s) for +: 'int' and 'str'
end
end=”” を記述すると改行を無くすことができます。
またend=”,” のように、文字列を指定することもできます。
改行\n
改行させる際には、print文の中に “\n” と記述します。
windowsの場合は、\ が ¥ になります。
まとめ
今回はPythonでテキストベースのTODOリストを作成する方法を書きました。
最後までお読みいただきありがとうございました。