新米エンジニアのプログラム記録

pythonプログラムの基礎を載せています。

【超入門】第4回:while関数を使って繰り返し処理を使いこなそう

このページで学べること

  1. ループ処理の基礎知識について
  2. while関数の使い方
  3. while関数を使う上での注意点について

目次

while関数とは

 while関数は、pythonを初める多くの人が最初に学ぶ関数の内の1つです。「もし〇〇の状態なら、○○の処理を繰り返してください」というプログラムを書くことができるようになります。今までのプログラムの処理は一度しかできなかったのに対して、この関数を使うことで条件を満たすまで処理を繰り返すことができるようになります。
while文を理解できると、より複雑なプログラムを書けることができ自信が少しついてくると思いますので頑張りましょう。

while関数の使い方

 ここからは実際にwhile関数を使ってみましょう。下記のプログラムをコピーしてプログラムを実行してみてください。
<サンプルプログラム>

#①input関数を使って、キーボードから入力された内容を変数xに代入する。
x = input("アルファベットを入力してください:")
#②while関数を使って、変数xの中身がaかどうか判定する。<aならループを抜ける。a以外ならループ処理を実行>
while x!="a":
    #while関数のループ処理
    #③input関数を使って、キーボードから入力された内容を再度変数xに代入する。
    x = input("再度アルファベットを入力してください:")
    #④whileの行に戻る
#⑤xの中身がaならwhile関数のループを抜けて、print関数を実行する。
print("正しくアルファベットが入力されました")

 動作としては、①input関数を使って「x」の変数内にキーボードで入力した内容が保存されます。②while関数の条件式にて、その入力内容が、「a」であるかを判定して、「a」でなければwhile関数に属するプログラムを実行する③while関数のループ処理内で、input関数を用いて、もう一度変数「x」にキーボードからの入力を行います。④もう一度②に戻って再度while関数の条件式の判定を行う。while関数の条件式がFalseになるまで繰り返す。⑤while関数の条件式がFalseならループ処理を抜けて、"正しくアルファベットが入力されました"とprint関数が実行されて画面上に表示される。
となります。
簡易的なフローチャートで表現すると下記のようになります。

☆print関数について復習したい方は過去のページを参照ください。
kpython.hatenablog.com
☆input関数について復習したい方は過去のページを参照ください。
kpython.hatenablog.com
☆条件式については、if関数のページでも紹介してますので参照ください。
kpython.hatenablog.com


次からは②のwhile関数のループ処理にを詳しく見てみたいと思います。

while関数の書き方

 ②のwhile x!="a":の行に着目してみてください。while関数の書き方は下記のようになります。
  while 条件式:
   while関数に属するプログラム(ループ処理)
サンプルプログラムでは「x!="a"」の部分が条件式となります。条件式は、if関数で説明したものと同じですので、詳しく見たい方は下記のリンク先を参照してください。
kpython.hatenablog.com
 条件式の処理はif関数のときと同じで、条件式がTrueのときのみwhile関数に属するプログラムを処理し、Falseのときは属するプログラムが処理されません。異なる点は、if関数は一度処理したら終了でしたが、while関数は属するプログラムの最後まで行くと、もう一度条件式を参照するところまで戻ります。この動きが条件式がFalseになるまでループすることが特徴です。

while関数の注意点

while関数の無限ループについて

 while関数は条件式がTrueの状態のときにループを繰り返すと説明しましたが、条件式がFalseにならないプログラムを書いてしまうとwhile関数のループを抜け出せない無限ループに陥ってしまいます。サンプルプログラムで例えると次のようなときです。
<サンプルプログラム>

x = input("アルファベットを入力してください:")
while x!="a":
    #ここが異なります。
    y = input("再度アルファベットを入力してください:")
print("正しくアルファベットが入力されました")

ループ内の処理をy=input()に書き換えました。こうしてしまうと、ループ内で条件式のxの中身を変更することができないため、条件式を満たすことができなくなり無限ループに陥ってしまいます。
こうならないように、while関数の条件式はしっかりと確認して書くようにしましょう。

breakについて

 while関数のループを抜け出す方法として、条件式がFalseになるときと説明しました。しかし、もう一つの方法として「break」というものがあります。次のサンプルコードを見てください。
<サンプルプログラム>

x = input("アルファベットを入力してください:")

while True:
    #while関数のループ処理
    #if関数でxの中身がaかどうかを判定
    if x == "a":
        #aならbreakを実行してwhile関数のループを抜け出す。
        break
    x = input("再度アルファベットを入力してください:")
    
print("正しくアルファベットが入力されました")

最初のサンプルプログラムと異なるのは、while関数の条件式が「True」になっていること。そして、if関数の中に、「break」という文字が入っていることです。まず、条件式に直接Trueと書かれたときの処理ですが、これは「条件を問わず常にTrueとする」という意味となり、while関数が無限ループとなります。一つ目の注意点で無限ループには気を付けてくださいと書いたのにいいの?となるかもしれませんが、このループを抜け出す方法としてbreakが存在します。このbreakは、ループ処理から抜け出すという処理をしてくれるので大丈夫なのです。サンプルプログラムでは、if関数でxの中身がaならばbreak関数が実行されてwhile関数のループを抜け出せるようになっています。ほかにもbreakを使えば、特定条件でループを抜け出すようなプログラムが書くことができるので便利です。

最後に

 いかがだったでしょうか?今回はwhile関数の使い方と注意点についてまとめさせていただきました。この関数を使えることで、いままでプログラムの処理は一度しかできなかったのに対して、繰り返して処理を行うことができるようになりました。様々な場面で使用でき、理解が深まると奥が深いので、ぜひいろいろ試してみてください。

【超入門】第3回:if文を使って分岐処理を使いこなそう

このページで学べること

  1. if関数を使った分岐処理について
  2. if関数を使う上での注意点について

目次

if関数とは

 if関数は、pythonを初める多くの人が最初に学ぶ関数の内の1つです。「もし〇〇なら、○○してください」というプログラムを書くことができるようになります。今までのプログラムは処理は決められた一つのことしかできなかったのに対して、この関数を使うことで状況に応じて処理を分岐させることができるようになります。
if文を理解できると、より複雑なプログラムを書けることができ自信が少しついてくると思いますので頑張りましょう。

if関数の使い方

 ここからは実際にif関数を使ってみましょう。下記のプログラムをコピーしてプログラムを実行してみてください。
<サンプルプログラム>

#①input関数を使って、キーボードから入力された内容を変数xに代入する。
x = input("アルファベットを入力してください:")

#if関数を使って、変数xに代入された内容によって処理を分岐させる
#②if関数:xにaが代入されていたら処理される。
if x=="a":
    print("aが入力されました")
#③elif関数:xにaが代入されておらず、bが入力されていたら処理される。
elif x=="b":
    print("bが入力されました")
#④else関数:xにaもbも代入されていないときに処理される。
else:
    print("a,b以外が入力されました")

 動作としては、①input関数を使って「x」の変数内にキーボードで入力した内容が保存されます。②その入力内容が、「a」であれば"aが入力されました"と出力されます。③「a」が入力されていない、かつ「b」が入力されていれば、"bが入力されました"と出力される処理となります。最後に④「a」「b」ともに入力されていないとき、"a,b以外が入力されました"と出力される処理となります。
☆print関数について復習したい方は過去のページを参照ください。
kpython.hatenablog.com
☆input関数について復習したい方は過去のページを参照ください。
kpython.hatenablog.com

次からは②、③、④のif関数に関する処理を詳しく見てみたいと思います。

if関数の書き方

 まずは、②のif x=="a"の行に着目してみてください。if関数の書き方は下記のようになります。
  if 条件式:
   if関数に属するプログラム
サンプルプログラムでは「x=="a"」の部分が条件式となります。条件式では、基本的に算数で習う等号(=)、不等号(<,>)が使用され、この条件式が正しいとき(プログラムではTrueといいます)は、if関数に属するプログラムが実行されます。条件式が正しくないとき(プログラムではFalseといいます)はif関数に属するプログラムは実行されないという処理になります。今回のプログラムでは、変数xの中身は"a"ですか?という条件式となります。

elif関数の書き方

 次は、③のelif x=="b":の行に着目してみてください。elif関数もif関数と書き方は同様です。
  elif 条件式:
   elif関数に属するプログラム
条件式の書き方や、条件式がTrueになった時の処理の流れは基本的にif関数と同様です。違うところは、最初のif文の条件式の影響を受けることです。今回のelif関数の条件式を日本語で書くと、「変数xの中身がa以外かつ変数xの中身がbですか?」となります。②のif関数の条件式がFalseかつelif関数の条件式を満たすかどうかとなりますので、覚えておいてください。

else関数の書き方

 最後に、④のif、elif関数と相対する関数として「else」があります。else関数の書き方は以下のようになります。
  else:
   else関数に属するプログラム
これはif関数、elif関数の条件式に何も当てはまらなかったときに実行されるものとなります。今回では、if関数で「aが入力されたとき」elif関数で「aが入力されておらず、bが入力されたとき」という条件式がありますので、そのすべてを満たさない「aもbも入力されていないとき」に処理されるものとなります。if,elif関数で必要だった、条件式はelse関数では必要ありません。なぜなら「if,elif関数の条件式に当てはまらない条件」がelse関数の条件となるからです。

条件式について

 if関数で使える条件式は以下の10種類ありますので、覚えておくと便利です。


if関数の注意点

if関数に属するプログラムの範囲について

if関数にするプログラムの範囲は、C言語では{}で表現されますが、Pythonの場合はインデントの位置(空白)で判断されます。

もしインデントをつけずに記入すると下記のような「Expected an indented block (pyflakes E)インデントの位置が間違ってますよ」とエラーが出されますので注意して下さい。(Spyderのエディターで記入時)

elif,else関数の使い方について

今回のサンプルプログラムでは、if,elif,else関数の3種類を使いましたが、状況に応じて①if関数のみ②if関数とelif関数③if関数とelse関数。という使い方も可能です。ですが、「elifまたはelse関数のみ」や「elif関数とelse関数」といった使い方はできません。なぜなら、2つともif関数が存在して初めて使えるものだからです。もし、違った使い方をした場合は、下記のような「Invalid syntax (pyflakes E)構文が間違ってますよ」とエラーが出ます。(Spyderのエディターで記入時)

最後に

 いかがだったでしょうか?今回はif関数の使い方と注意点についてまとめさせていただきました。この関数を使えることで、いままでプログラムが直線型だったのに対して、条件に応じてプログラムが分岐するようになるため、一気にレベルアップした気持ちになるかと思います。この関数も奥が深いので、ぜひいろいろ試してみてください。

【超入門】Spyderの言語設定を日本語に変更する方法

このページで学べること

  1. Spyderをインストールする方法
  2. Spyderの言語設定を日本語に変更する方法


目次

はじめに

 Anacondaをインストールして、Spyderを使い始めるとデフォルトの言語設定が英語になっています。簡単な英単語が使われているので、なんとなく意味は分かるけど。。ちょっと使いにくいな。。と感じたことはありませんか?そこで、本記事ではSpyderの言語設定を日本語に変換できる方法をお伝えして、皆さんのプログラム生活を少しでもプラスにできれば幸いです。

Spyderのインストール方法

 そもそもSpyderをまだインストールできていない人は、下記に流れに沿って準備を進めてください。
①SpyderはAnacondaのパーッケージに同梱されているものです。まずは下記の記事を参考にしてAnacondaをインストールしてください。
kpython.hatenablog.com

②Anacondaをインストール出来たら、次はSpyderを始める準備を進めてください。下記の記事を参考にして進めてみてください。
kpython.hatenablog.com

日本語設定のやり方

 Spyderの準備ができたら、いよいよ言語設定を日本語に変更していきます。このやり方で変更すると、以下のように画面が変わりますの頑張りましょう。

まずは、ウィンドウ上部の「Tools」のタブをクリックしてください。

そして、出てくる項目の中で「Preferences」を選択してください。

すると、下図のような「Preferences」のウィンドウが出てきますので、左の項目一覧の中から「Application」を選択してクリックしてください。

次に、中央のタブから「Advanced settings」を選択して、Languagsの項目がデフォルトでEnglishになっているので、プルダウンから「日本語」を選択してください。選択後に下にある「OK」ボタンを押してください。

最後に、言語設定の変更を有効にするのかどうかを聞かれるポップアップが開きますので、「Yes」を押してください。するとSpyderが再起動されて日本語設定に切り替わっていることを確認してください。

最後に

 いかがだったでしょうか?本記事では、Pythonのプログラムを書くためのSpyderを英語表記から日本語表記に変更する方法についてまとめました。英語のままでも使えなくもないですが、やっぱり利便性では日本語の方が何かと便利なものですよね。今回の記事で日本語設定に切り替えて、皆さんのプログラム生活が少しでも良くなると幸いです。

【超入門】Anaconda標準装備のSpyderを使ってpythonプログラムを効率よく書こう

このページで学べること

  1. Spyderのインストール方法
  2. Spyderを使ってpythonをプログラムする方法

目次

Spyderとは

Spyder(以前はPydee)はオープンソースクロスプラットフォーム統合開発環境であり、Pythonで科学用途のプログラミングをすることを意図して作られている。SpyderにはNumPy・SciPy・Matplotlib・IPythonなどが統合されている。
Spyder (ソフトウェア) - Wikipedia一部引用

 記載にもあるように、Spyderは統合開発環境となっております。初めてPythonを触る人にとっては、無料で①プログラム(ソースコード)が書ける、②エラー確認ができる、③プログラムを実行できるの3つの機能が使いやすいと思っていただければ大丈夫です。

Spyderのインストール方法

SpyderはAnacondaのパッケージをインストールすると一緒にインストールされます。Anacondaのインストール方法については、過去の記事に記載してますので、参考にしてください。

kpython.hatenablog.com

Anacondaをインストールするとwindowsのスタートアップに「Spyder」がインストールされていますので、クリックして開いてください。


Spyderを起動させる

Spyderのソフトを起動すると、初めに「Welcome to Spyder!」というウインドウが出てきます。そしたら、「Start tour」のボタンをクリックしてください。

「introduction tour」のウインドウが表示されたら英語で何が書いてあるかわからない人や興味がない人は右上の「×」ボタンを押してください。もし興味があれば、右下の送りボタンを押して読んでください。

これでSpyderを使える状態になりました。AnacondaのパッケージをインストールしたときにSpyderの最新版が配布されていると、バージョンアップを促されますので、指示に従ってバージョンアップさせてください。

Spyderにプログラムを書いて実行してみる

最初の段階では、とりあえず次の3か所を覚えておけば大丈夫です。
 ①ソースコードを記入する箇所
 ②プログラムを実行するボタン
 ③プログラム結果の出力画面

まずは、次のプログラムをコピーして、①の場所に貼り付けてください。

print("Spyderのtestプログラム")

次に、②の実行ボタンを押してください。
最後に③の出力画面を確認してみてください。
すると、次のような画面が③の出力結果画面に表示されたかと思います。これが、「プログラムを書いて実行して確認する」一連の流れとなります。

さいごに

 いかがだったでしょうか?今回は、Anacondaのパッケージに標準で入っているSpyderのインストール方法と基本的な使い方について説明しました。プログラムに慣れてきたらSpyderの様々な機能を使いこなしてプログラムを書くことができますので、ぜひ使いこなしてみてください。

【超入門】第2回:input関数を使ってキーボードから入力しよう

このページで学べること

  1. キーボードからの入力を受け付ける
  2. キーボードで入力した内容を出力する

目次

input関数とは

input関数は、pythonを初める多くの人が最初に学ぶ関数の内の1つです。キーボードからの入力を受け付ける機能となり、プログラムの途中で人がアクションを起こせるため対話式となり、初めてプログラムを触る人にとっても直感的に理解しやすく面白いと感じる関数となっています。

input関数の使い方

ここからは実際にinput関数を使ってみましょう。
<書き方>

x = input("数値を入力してください")
print(x)

<出力画面>


 動作としては、「x」の変数内にキーボードで入力した内容が保存されることになります。人が入力する際には、ダブルクオーテーション("")で囲んだ部分が画面上に出力されて、入力を受け付け待機中となっています。
print(x)では、input関数によって入力された内容を出力画面上に表示させています。
print関数について復習したい方は過去のページを参照ください。
kpython.hatenablog.com

input関数の注意点

先ほどのプログラムで、"数値を入力してください"と画面上に表示されてキーボードで入力を受け付けましたが、プログラム上では数値として認識されていません。文字列として保存されている点に注意してください。
なので、入力された数値に1を足し算するような以下のようなプログラムを実行してみると。。

x = input("数値を入力してください:")
y = x + 1
print("合計")
print(y)

キーボードから「3」を入力した後に、TypeError:can only concatenate str (not "int") to str というエラー分が表示されてプログラムが止まります。
これは、y = x + 1の行でエラーが発生しており、文字と数字を足し算できませんというエラーになります。
このエラーを改善させるためには、input関数で入力した内容を数値(int型)に変換してあげる必要があります。そのことを踏まえてプログラムを修正すると以下のようになります。

x = input("数値を入力してください:")
x = int(x)

y = x + 1

print("合計")
print(y)

先ほどと違うのは、input関数の次の行にint(x)という行を足したことです。このint()は、()内の変数をint型に変換して保存する機能を持っています。なので、input関数で入力された「3」という文字をint()の機能を使って、数字の「3」に変換できたことで、足し算の計算を正常にできました。

最後に

 いかがだったでしょうか?今回はinput関数の使い方注意点についてまとめさせていただきました。この関数を使えることで、プログラムと人とが対話型となり、初めてプログラムを触った人にとっては一気にレベルアップした気持ちになります。今回の注意点としては、input関数で入力されたデータは、文字列であること。それを数値として扱うためにはint()の機能を利用する必要があることです。

【超入門】Windows版anacondaをインストールしてpythonの環境構築をしよう!

anacondaとは

Anacondaは、科学計算(データサイエンス、機械学習アプリケーション、大規模データ処理、予測分析など)のためのPythonおよびR言語の無料のオープンソース[5]ディストリビューションであり、パッケージ管理とデプロイメントを簡略化することを狙ったものである。パッケージのバージョンは、パッケージ管理システム conda によって管理される[6]。Anacondaディストリビューションは1500万人以上のユーザーによって使用されており、WindowsLinuxmacOSに対応している1500を超える人気のあるデータサイエンスパッケージが含まれている[7]。ライセンスはフリーミアムである(Minicondaとthe Individual Edition は自由ソフトウェア他のEditionはSaaS)。
Anaconda (Pythonディストリビューション) - Wikipedia一部引用

anacondaはpythonの強みである機械学習やデータサイエンスに強い無料のpython環境が提供されています。pythonを始めるときに悩んだら、まずはanacondaの環境を構築して始めてみることをお勧めします。

パッケージのダウンロード

まずは、パッケージをダウンロードします。
下記のリンク先からanacondaの公式ホームページに移動してください。

www.anaconda.com
リンク先のホームページに移動できたら下図のWindowsマークをクリックしてください。押すとホームページの下の方に移動します。そこからwindows版をクリックしてください。するとダウンロードが始まります。

リンク先の画面



パッケージのインストール

ダウンロードが終わると次は、そのパッケージをインストールします。Microsoft Edgeを使っている方は、ダウンロードが終わった後に自動的にインストール画面が開きます。

インストール画面

インストール画面が開いたら、「Next>」ボタンを押してください。

「License Agreement」の画面が出てきたら、「I Agree」ボタンを押してください。

「Select Installation Type」画面が出てきたら、「Just Me(recommended)」にチェックを入れた状態で、「Next >」ボタンを押してください。

「Choose Install Location」画面が表示されたら、インストール先にこだわりがなければ、そのまま「Next >」ボタンを押してください。もしインストール先を変更する場合は、ここで変更してください。

「Advanced Installation Options」画面が出てきたら、下のボックスにチェックを入れた状態で「Install」ボタンを押してください。

「Install」ボタンを押すと下図のようにインストールが始まります。数分必要な時がありますので、進行度が100%になるまで待ってください。
進行度が100%になり、「Next」ボタンの色が変わったら「Next」ボタンを押してください。

下図の画面が表示されたら「Next >」ボタンを押してください。

二つのボックスにチェックを入れて、「Finish」ボタンを押してください。


以上でanacondaのインストールは完了です。アプリ一覧の中にanacondaがあれば成功です。

最後に

いかがだったでしょうか?
今回はPythonの環境構築を行うためにWindows版のanacondaをインストールする手順をまとめてみました。次回は、このインストールしたanacondaを使って実際にpythonプログラムを動かしてみましょう。

【超入門】第一回:print関数を使って画面に表示させよう

このページで学べること

  1. 内容を画面上に出力する方法
  2. 数値と文字列で表示させる方法が異なること

目次

print関数とは

print関数は、pythonを初める多くの人が最初に学ぶ関数の内の1つです。プログラム内で処理された結果を人に見える形で出力する機能となり、初めてプログラムを触る人にとっても直感的に理解しやすいものとなっています。

print関数の使い方

大きく分けて「数値」と「文字列」の場合の2つの書き方が存在します。
<数値の場合>

print(数値を入力)

print関数のカッコ内()に数値を直接入力すれば出力されます。

<文字列の場合>

print("文字列を入力")

print関数のカッコ内()に出力したい文字列をダブルクォーテーション「””」で囲んで入力すれば出力されます。

print関数の実例

<数値の場合>
・プログラム

print(10)
print(20)

・出力結果

print関数で入力した「10」と「20」がそれぞれ順番通りに表示されます。

<文字列の場合>

print("あなたは山田さんですか?")
print("はいそうです。")


print関数で入力した「あなたは山田さんですか?」と「はいそうです。」がそれぞれ順番通りに表示されます。
文字列をダブルクォーテーションで囲みましたが、内側の文字列のみが表示されることも覚えておきましょう。