今回は、pythonの制御構文と関数について学び直していきます。
前回はChatGPTでPython基礎再学習:データ型と操作をやっていきましたので参考にしてみてください!!
このブログは、以前Pythonを学んでいたのですが、途中で挫折してしまった経験がある私が、今回はChatGPTを活用して、より効果的に学習を進める方法を試してみます。
プログラミング初心者である私が、どのようにしてPythonを習得していくのか、そのステップや学びのポイントを具体的にお伝えしていきます。私と一緒にPythonを学んでみませんか?日々の学習の中で感じたことや役立った情報をお届けします。
Pythonの始め方についてはこちらの記事を参考にしてみてください!!
参考記事
今回は、制御構文から始めていきます!!
ブログ内のコードはコピーして使用できます
ステップ3: 制御構文
ChatGPTでPython基礎再学習:データ型と操作の練習問題が終わりました。
1. 条件分岐(if文)
条件に応じて異なる処理を行うために使用します。
1 2 3 4 5 6 7 8 9 |
# 条件分岐の例 年齢 = 20 if 年齢 < 18: print("未成年です") elif 年齢 >= 18 and 年齢 < 65: print("成人です") else: print("高齢者です") |
解説:
if
で条件を指定し、その条件が真の場合に実行する処理を書きます。elif
は「else if」の略で、最初のif
が偽の場合に次の条件をチェックします。else
はすべての条件が偽の場合に実行する処理を書きます。
2. ループ(for文、while文)
ループを使って、同じ処理を繰り返し実行することができます。
例(for文):
1 2 3 4 5 |
# リストの各要素をループで出力する 果物リスト = ["りんご", "バナナ", "オレンジ"] for 果物 in 果物リスト: print(果物) |
解説:
for
ループは、シーケンス(リスト、タプル、文字列など)の各要素を順番に取り出して処理します。
例(while文):
1 2 3 4 5 6 |
# 1から5までの数を出力する カウンター = 1 while カウンター <= 5: print(カウンター) カウンター += 1 # カウンターを1増やす |
解説:
while
ループは、指定した条件が真の間、繰り返し処理を行います。
練習問題
練習問題
- 自分の年齢を変数に代入し、条件分岐を使って「未成年」「成人」「高齢者」を判定するプログラムを書いてみましょう。
- 好きな果物のリストを作成し、
for
ループを使って各果物の名前を出力するプログラムを書いてみましょう。 while
ループを使って、1から10までの数を出力するプログラムを書いてみましょう。
ということで、練習問題をやっていきましょう!!
実際にChatGPTに教えて貰った内容を参考にしながらコードを書いていきます。
練習問題1
自分の年齢を変数に代入し、条件分岐を使って「未成年」「成人」「高齢者」を判定するプログラムを書いてみましょう。
1 2 3 4 5 6 7 8 |
age = 30 if age < 18: print("minor") elif age >=18 and age < 65: print("adilt") else: print("elderly or senior") |
出力
1 |
adilt |
変数のageを変えても、問題なく出力されるので大丈夫でした
ChatGPTが教えてくれていた内容を参考にしながら書いてみました!!
ポイントは、日本語で書かれている部分をあえて英語にしたところでしょうか😆
練習問題2
好きな果物のリストを作成し、for
ループを使って各果物の名前を出力するプログラムを書いてみましょう。
1 2 3 4 |
fruit_list = ["apple", "orange", "grape", "pear"] for fruit in fruit_list: print("fruit") |
出力
1 2 3 4 |
fruit fruit fruit fruit |
まさかのリスト内容が反映されていない状態でした😱
ChatGPTにどこが間違えていたのか聴いてみます。
ChatGPTで修正方法
fruit_list = ["apple", "orange", "grape", "pear"]
for fruit in fruit_list:
print("fruit")
リストの内容が出力できませんでした
リストの内容を出力するためには、ループ内で文字列ではなくリストの要素を出力する必要があります。以下のように修正してください。
1 2 3 4 |
fruit_list = ["apple", "orange", "grape", "pear"] for fruit in fruit_list: print(fruit) |
このコードでは、fruit
という変数がリストの各要素を順番に受け取り、それをprint
関数で出力します。これにより、リストの内容が正しく出力されます。
コードを修正してくれて、問題は解決しました。
しかし、どこが間違えていたかわからないのでChatGPTに聴いてみました
間違えていた部分を教えて
間違えていた部分は以下の部分です。
1 |
print("fruit") |
この部分は文字列 "fruit"
をそのまま出力しています。リストの各要素を出力するためには、変数 fruit
を出力する必要があります。修正後のコードは以下の通りです。
1 2 3 4 |
fruit_list = ["apple", "orange", "grape", "pear"] for fruit in fruit_list: print(fruit) |
この修正により、リストの各要素("apple", "orange", "grape", "pear")が順番に出力されます。
どこが間違えていたかを、丁寧に教えてくれるのでどこが間違えていたかをしっかりと確認してみましょう😊
練習問題3
while
ループを使って、1から10までの数を出力するプログラムを書いてみましょう。
1 2 3 4 5 |
count = 1 while count <= 10: print(count) count += 1 |
出力
1 2 3 4 5 6 7 8 9 10 |
1 2 3 4 5 6 7 8 9 10 |
無事練習問題終了です!!
制御構文は、プログラムの流れを制御するための重要な要素です。
Pythonでは、条件に応じた処理を行うif
文、繰り返し処理を行うfor
文とwhile
文が主要な制御構文として使われます。if
文は条件によって異なるコードを実行し、for
文は指定されたシーケンスの各要素に対して処理を行い、while
文は条件が真である間、処理を繰り返します。制御構文を効果的に使うことで、プログラムの柔軟性と効率を高めることができます。
Pythonのfor
文で使われる「シーケンス」という言葉は、複数の要素が順序付けられて並んでいるデータ構造を指します。
ステップ4: 関数とモジュール
練習問題も無事に終わりました。
次のステップへお願いいたします。
1. 関数
関数は、特定のタスクを実行するためにまとめられたコードのブロックです。関数を使うことで、コードを再利用しやすくし、可読性を向上させることができます。
関数の定義と呼び出し
1 2 3 4 5 6 7 |
# 関数の定義 def 挨拶(名前): print("こんにちは、" + 名前 + "さん!") # 関数の呼び出し 挨拶("太郎") 挨拶("花子") |
出力
1 2 |
こんにちは、太郎さん! こんにちは、花子さん! |
解説:
def
キーワードを使って関数を定義します。- 関数名の後にカッコを付け、必要な引数を指定します。
- 関数を呼び出すときは、関数名に引数を渡します。
2. モジュール
モジュールは、関連する関数や変数をまとめたPythonファイルです。モジュールを使うことで、コードを整理しやすくし、他のプログラムから簡単に再利用できます。
モジュールのインポート
1 2 3 4 5 6 7 8 9 |
# mathモジュールをインポート import math # mathモジュールの関数を使う 円周率 = math.pi 平方根 = math.sqrt(16) print("円周率:", 円周率) print("平方根:", 平方根) |
出力
1 2 |
円周率: 3.141592653589793 平方根: 4.0 |
解説:
import
キーワードを使ってモジュールをインポートします。- インポートしたモジュールの関数や変数を使うには、
モジュール名.関数名
の形式を使用します。
練習問題
練習問題
- 名前を受け取り、「こんにちは、[名前]さん!」と出力する関数を作成してみましょう。
- 2つの数を受け取り、それらの和を返す関数を作成してみましょう。
math
モジュールを使って、任意の数の平方根を計算するプログラムを書いてみましょう。- 自分で新しいモジュール(
my_module.py
など)を作成し、その中に関数を定義してインポートしてみましょう。
練習問題1
名前を受け取り、「こんにちは、[名前]さん!」と出力する関数を作成してみましょう。
1 2 3 4 |
def hello(name): print("こんにちは、" + name + "さん!") hello("dada") |
出力
1 |
こんにちは、dadaさん! |
関数を作ると、関数で設定した名前を呼び出すだけで、簡単にプログラムを出力することができました!
今は、関数の中身が簡単なのでprint関数を使用して出力をする方が早いかもしれませんが、内容が複雑になってくると関数というパーツを作っておくと便利そうですね!!
練習問題2
2つの数を受け取り、それらの和を返す関数を作成してみましょう。
1 2 3 4 |
def add(a, b): print("add=", a + b) add(3,4) |
出力
1 |
add= 7 |
関数内に2つのデータをいれることができました!!
","を使ってデータを2つ入力ができるようになりました。
練習問題3
math
モジュールを使って、任意の数の平方根を計算するプログラムを書いてみましょう。
1 2 3 4 |
import math s_root = math.sqrt(2) print("平方根 = ", s_root) |
出力
1 |
平方根 = 1.4142135623730951 |
中学生のときに習ったやつ😆
ひとよひとよにひとみごろ。。。懐かしい
練習問題4
自分で新しいモジュール(my_module.py
など)を作成し、その中に関数を定義してインポートしてみましょう。
この問題は、モジュールを自分で作成して、それを出力しましょうと言う内容のものでした!!
いまいち、モジュールの作り方がわかっていなかったので、ChatGPT先生に聴いてみました。
自分で新しいモジュール(my_module.pyなど)を作成し、その中に関数を定義してインポートしてみましょう。
この問題がわからない
モジュールの作成と使用手順
1. モジュールファイルを作成する
まず、Pythonファイル(例えば my_module.py
)を作成し、その中に関数を定義します。
- 任意のテキストエディタ(VSCodeやNotepadなど)を開き、新しいファイルを作成します。
- ファイル名を
my_module.py
として保存します。 - 以下のように関数を定義します。
1 2 3 4 5 6 7 |
# my_module.py def 挨拶(名前): return "こんにちは、" + 名前 + "さん!" def 足し算(a, b): return a + b |
モジュールを作るときはprintよりteturnの方が良さそう
2. モジュールをインポートして使う
次に、作成したモジュールをPythonスクリプトからインポートして使用します。
- 新しいPythonファイルを作成します(例えば
main.py
)。 my_module
をインポートして関数を呼び出します。
1 2 3 4 5 6 7 8 9 10 11 12 |
# main.py # my_moduleをインポート import my_module # 挨拶関数を使用 メッセージ = my_module.挨拶("太郎") print(メッセージ) # こんにちは、太郎さん! # 足し算関数を使用 結果 = my_module.足し算(5, 3) print("足し算の結果:", 結果) # 足し算の結果: 8 |
3. スクリプトを実行する
コマンドプロンプトやターミナルを開き、main.py
が保存されているディレクトリに移動して、次のコマンドを実行します。
1 |
python main.py |
この内容を実行してもできない場合は、ファイルの保存をすると私はできました。
ファイルの内容を変更して、保存をしていないとエラーの原因となるようです。
解説
- モジュールファイル (
my_module.py
):- Pythonコードを含むファイルで、複数の関数や変数を定義できます。
- 他のスクリプトからインポートして使用できるようになります。
- インポート:
import モジュール名
を使って、モジュール内の関数や変数を利用します。モジュール名.関数名
の形式で関数を呼び出します。
内容を確認しながらやってみました。
この内容で無事にできました!
これで、なんとなく関数とモジュールについて理解することができました!!
まとめ
今回は、「制御構文と関数とモジュールについて」までをやっていきました。
今回は、関数とモジュールの部分で私はつまずきましたが、ChatGPTに自分がわからに部分を聞くことで、丁寧に修正をしてくれます。
またエラー文が出た場合でも、エラーの内容をコピーしてそのまま貼り付けて聞くことで、エラーの内容を説明してくれるので原因がすぐに分かります。
私が、以前やっていたときもエラーに何が書かれているかわからなくて凄く時間がかかった記憶があり、エラーが出るたびにイライラしていることも多くありましたが、エラーの内容も説明してくれるので、そのあたりのストレスはなくなりました😁
Pythonを学びたい方はこちらの記事を参考にしてみてください
関連記事
プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?
ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。
このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!
タイトルテキスト
プログラミングを学びたいけど、どこから始めたらいいのか分からない、自分に合っているか不安…そんな悩みを持っている方におすすめしたいのが、 無料相談 サービスです!
この無料相談では、あなたの現状や目標に合わせて、最適な学習プランを一緒に考えてくれます。どんなスキルが必要なのか、どうやって学習を進めると効果的かを具体的にアドバイスしてもらえるので、無駄なく効率的にスタートを切ることができます。
さらに、プログラミング学習には同じ目標を持つ 仲間 がいること、そして頼りになる メンター の存在がとても大きな支えになります。独学ではどうしてもつまずきやすい部分も、メンターがあなたの成長に合わせて親身にサポートしてくれるので、安心して学びを進められます。
まずは 無料相談 で、あなたに合ったプランを見つけて、スキルアップへの第一歩を踏み出してみませんか?今なら、迷っている方でも気軽に相談できるチャンスです!
次はファイル操作と実践的なプロジェクトを進めていきます!!
関連記事