Python お金の健康

【解説付き】pythonの学習問題を解いてプログラミングスキルを高めよう1

こんにちは、ウチダです。

私は趣味でプログラミング言語pythonを勉強しています。

投資の分析や仕事の自動化に活用しています。

大規模なアプリ開発やエンジニア転職は目指していませんが、投資や仕事でもっと成果を挙げたいと考えています。

そこで、こちらの本を読んでいます。

退屈なことはPythonにやらせよう

この本は、pythonを仕事に活かせるように、実用的なプログラミングが学べる一冊です。

WordやExcel、PDFの操作だけでなく、メールやSMSの送受信、画像処理なども身につけられます。

単なる解説本ではなく、学習問題がついているので、スキルに定着しやすいと思います。

今回はpythonの学習問題を解いて、解説しました。

pythonの学習の一助になると幸いです。

第1章:Pythonプログラミングの基礎

第1章:Pythonプログラミングの基礎

なぜ仕事にプログラミングが必要かというと

ずばり人間にしかできない仕事に時間を多く割り当てるためです。

業務を分析して、自動化できる作業はプログラミングで処理します。

そうすると生産性も高まりますし、人間として仕事のやりがいも大きくなると思います。

仕事に役立つプログラミングを学ぶなら、Pythonがおすすめです。

プログラミング言語Pythonはコードが非常にシンプルで、誰もが簡単にプログラムを作れます。

また、ツールも無料で取得でき、ネットにもコードが多数掲載されています。

Pythonは初心者こそおすすめのプログラミング言語なんです。

ただ、実用書を読むだけでは理解も難しいですよね。

そこで演習を通して、専門語や使い方を覚えていけたらきっと楽しいと思います。

今回は第1章Python入門を解いてきましょう!

python学習1:演算子と値を理解しよう

'''
次のうち、どれが演算子で、どれが値ですか?
*
'hello'
-88.8
-
/
+
5
'''

まずはプログラミングの書き方を覚えます。

演算子は+や-、*などの数学の計算に用いる記号です。

演習では、*(掛け算)、-(引き算)、/(割り算)、+(足し算)が演算子に成ります。

エクセルの計算式と同じものと違うものがあるので、使いながら覚えるのがベストです。

値は数字だけでなく、文字も含まれます。

演習では、文字の'hello'、数字の-88.8、5が値です。

python学習2:変数と文字列を理解しよう

'''
次のうち、どちらが変数で、どちらが文字列ですか?
spam
'spam'
'''

pythonのプログラムは、文字列(str型)を入力できます。

文字列はpythonが始まりと終わりを認識できるように、'(シングルクォート)や"(ダブルクォート)で囲んで使います。

演習では'spam'が文字列になります。

一方、変数は'(シングルクォート)や"(ダブルクォート)を使いません。

演習ではspamが変数です。

変数には文字列や数字などを入れることができ、箱のような役割をします。

例えば、中学数学ではx=10と書くと、xに10を代入すると教わりますよね。

これはxを変数として扱っています。

pythonも同様に、変数=値にすることで、文字列や数字を代入できます。

python学習3:データ型を理解しよう

'''
データ型を3つ挙げなさい。
'''

この演習では値のカテゴリー、つまりデータ型を問われています。

データ型には整数、浮動小数点数、文字列があります。

  • 整数(int)は、-2,-1,0,10,1000などの値です。
  • 浮動小数点数(float)は、-1.25,-1.0000,0.0,1.25などの値です。
  • 文字列(str)は、'cat', 'Hello', "pepsi"など、'(シングルクォート)や"(ダブルクォート)で囲まれた値です。

python学習4:式の構成を理解しよう

'''
式は何から構成されていますか?
式を評価するとどうなりますか?
'''

算数は4+6=10のように、式は値と演算子からなります。

pythonも同様で、式は値と演算子からなります。

式を処理することは評価と呼びます。

値には数字だけでなく、文字列も処理するためです。

式を評価すると1つの値になります。

2+2=4と同じです。

文字列の評価は、'spam'+'ham'='spamham'のように、数字と同様の評価ができます。

こちらも評価した結果は1つの値になっています。

python学習5:式と文の違いを理解しよう

'''
式と文の違いは何でしょうか?
'''

次の式を評価するとどうなるでしょう?

'Bob' * 3

値は文字列と整数があり、演算子は*です。

正解は'Bob'が3つ連結します。これは1つの値です。

'BobBobBob'

つまり式は評価すると1つの値を返します。

一方、文はそうではありません。

演習の解は、評価すると1つの値を返すものが式、そうでないものは文です。

python学習6:代入文を理解しよう

'''
次のコードを実行すると、変数baconには何が格納されますか?
bacon = 20
bacon + 1
'''

評価すると21が表示されます。

baconには21が格納される・・・のは間違いです。

なぜなら、代入文はbacon=20だけであり、bacon+1はただの式です。

正解は20になります。

もしbaconに21を入れるなら、bacon += 1と書きます。

python演習6の結果

python学習7:式の評価を理解しよう

'''
次の2つの式を評価すると何になりますか?
'spam' + 'spamspam'
'spam' * 3
'''

文字列の足し算では、その文字列同士を結合させます。

つまり'spam' + 'spamspam'の評価結果は'spamspamspam'です。

次に'spam' * 3ですが、掛け算の意味は足し算の簡略化ですよね。

例えば、3*4は、3+3+3+3という足し算を別の表現で表したものです。

つまり'spam' * 3は、'spam'+'spam'+'spam'と同義であり、答えは'spamspamspam'です。

2つの式を評価すると、どちらも'spamspamspam'でした。

python学習8:変数名の付け方を理解しよう

'''
eggsは正しい変数名であり
100は間違った変数名である理由は何ですか?
'''

中学数学でも変数名にはルールがあったと思います。

例えば100Xは変数名にできません。

100*Xと区別ができないためです。

同様に、pythonの変数名にもルールがあります。

  1. ひとつながりの語であること
  2. 文字と数字と下線記号_のみを用いていること
  3. 数字から始まらないこと

演習ではeggsは3つのルールを満たします。

しかし、100はルール3を満たさないため、変数名にできません。

_100やx100なら使えます。

python学習9:データ型の変換を理解しよう

'''
ある値を整数、浮動小数点数、文字列にそれぞれ変換するのに
用いる関数は何ですか?
'''

以下の式は成り立つでしょうか?

'私は' + 26 + '歳です'

実は成り立ちません。文字列と整数は連結できないためです。

エラーを解消するには、26を整数から文字列に変換する必要があります。

変換に使用するのは以下の関数です。

  • int(値):値を整数に変換する。
  • float(値):値を浮動小数点数に変換する。
  • str(値):値を文字列に変換する。

上記の例だと、'私は' + str(26) + '歳です'に直すと成り立ちます。

python学習10:データ型の変換を理解しよう

'''
次の式がエラーになる理由は何ですか?
どうしたら修正できますか?
'I have eaten' + 99 + 'burritos'
'''

学習9の解説と同様です。

文字列と整数は連結できないためです。

'I have eaten' + str(99) + 'burritos'に修正します。

python学習11:組み込み関数を理解しよう

'''
Pythonのオンラインドキュメントからlen()関数を探しなさい。
「組み込み関数」というタイトルのページが見つかるはずですが、
そこから他のPythonの組み込み関数を抽出し、round()関数の働きを調べ、
インタラクティブシェルに入力して試しなさい。
'''

まずPythonのオンラインドキュメントを開きます。

(参考:Pythonオンラインドキュメント

pythonのオンラインドキュメントトップ

総合索引を開きます。

pythonのオンラインドキュメントの総合索引

len()関数はLで検索して、探します。len()関数を表示した結果はこちら。

pythonドキュメントのlen関数

次にround()関数を調べます。

pythonドキュメントのround関数

そしてインタラクティブシェルに入力して試します。

私はJupyter Notebookを使っているので、こちらで入力します。

これで第1章の学習は終わりです。

単に本を読むより、演習を通して学ぶほうが楽しく感じませんか?

もっと詳しく勉強したい方はこちらの本をおすすめします。

次回は第2章を解説します。

ここまで読んでくださりありがとうございました。

★Pythonを活用した記事

エクセルの家計簿を自動処理させる話

インスタグラムの自動いいねを作った話

Pythonで投資のチャート分析を始めよう!

-Python, お金の健康
-