0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python, JupyterNotebook 初心者へ with ChatGPT

Last updated at Posted at 2025-10-01

大規模言語モデル講座 基礎編 2025 Autumn 敗因を勝因に
https://qiita.com/kaizen_nagoya/items/34ffd2b0c47a5f3665d9

python, JupyterNotebookって何か知らない人への説明としては、次は不十分ですね。

JupyterNotebookはどこにありますか。
https://qiita.com/kaizen_nagoya/items/2b9c2b4c9b4ee186ba9c

JupyterNotebookが起動させながら読んでください。

ChatGPT

pythonとJupyternotebook の初心者に何からおしえるといいでしょうか。

ChatGPT:

いいご質問ですね 👍
Python と Jupyter Notebook を初心者に教える場合は、「すぐに手を動かして成果が見える」ようにすると理解が早くなります。順番としては以下の流れがおすすめです。
ステップ 1: 環境と基本操作
Jupyter Notebookの使い方
新しいノートブックを作る方法
セル(コードセルとMarkdownセル)の違い
Shift+Enter で実行する操作
Pythonの基礎的な書き方
print("Hello, world!")
四則演算(2 + 3, 10 / 2)
コメントの書き方 # コメント
ステップ 2: 変数とデータ型
数値(int, float)
文字列(str)
リスト(list)
辞書(dict)
簡単な演習: 「好きな食べ物のリストを作ってprintする」
ステップ 3: 制御構文
if文(条件分岐)
for文 / while文(ループ)
演習: 1〜10の数字の中で偶数だけを表示する
ステップ 4: 関数
def で関数を作る
引数と戻り値の使い方
演習: 「摂氏温度を華氏に変換する関数」
ステップ 5: ライブラリと可視化
ライブラリのimport
import math, import random
NumPy, pandas の簡単な紹介
データの計算・表形式データの扱い
Matplotlibによる可視化
簡単な折れ線グラフ、棒グラフを描く
演習: サイコロを100回振ってヒストグラムを描く
ステップ 6: Jupyter Notebookらしい使い方
Markdownセルでメモを書く
数式を書く($y = mx + b$)
グラフや結果を1つのノートブックにまとめて「レポート化」
教えるポイント
インタラクティブに学べる楽しさを重視
→「コードを書いたらすぐに結果が見える」のがNotebookの良さ。
短いコードで成果が出る演習を選ぶ
→ グラフや表を出すとモチベーションが上がります。
「できた!」体験を早めに
→ 難しい理論より、まず動かす喜び。
もし「名古屋の製造業向け」にPython/Jupyterを教えるなら、
最後に「センサーデータをCSVから読み込み → グラフに可視化」という実習を入れると、とても実践的です。
👉 ご希望なら、**初心者向け20日間学習カリキュラム(Day 1〜Day 20)**の形で具体的に作れますが、そうしますか?

はい。お願いします。できるだけソースコードをつけてください。

ChatGPT:

了解しました 👍
では「Python と Jupyter Notebook 初心者向け 20日間学習カリキュラム」を提案します。
毎日30分〜1時間くらいの演習を想定しています。すべて Jupyter Notebook 上で動かすことができます。
Python × Jupyter Notebook 初心者 20日間カリキュラム
Day 1: Hello, Python

print("Hello, world!")

Jupyter Notebook のセルの実行 (Shift+Enter)
Markdown セルに自己紹介を書いてみる
Day 2: 四則演算と変数

a = 10
b = 3
print(a + b)
print(a / b)

変数を使う
'# でコメントをつける
Day 3: データ型と文字列

>name = "Python"
print("Hello, " + name + "!")
print(len(name))
数値文字列型の違いを学ぶ
Day 4: リスト配列
fruits = ["apple", "banana", "cherry"]
print(fruits[0])
fruits.append("orange")
print(fruits)

インデックスで取り出す
append で追加する
Day 5: 辞書(dict)

person = {"name": "Alice", "age": 25}
print(person["name"])
person["age"] = 26
print(person)

key-value の概念
Day 6: if文

x = 10
if x > 5:
    print("xは5より大きい")
Day 7: for文
for i in range(1, 6):
    print(i)
Day 8: while文
i = 1
while i <= 5:
    print(i)
    i += 1

Day 9: 関数

def c_to_f(celsius):
    return celsius * 9/5 + 32

print(c_to_f(25))

Day 10: ライブラリを使う (math, random)

import math, random
print(math.sqrt(16))
print(random.randint(1, 6))
Day 11: NumPy入門
import numpy as np
arr = np.array([1,2,3,4,5])
print(arr.mean())

Day 12: pandas入門

import pandas as pd
data = {"Name": ["Alice","Bob","Charlie"], "Age": [25,30,35]}
df = pd.DataFrame(data)
print(df)

Day 13: CSVを読み込む
(sample.csv を作って読み込む)

df = pd.read_csv("sample.csv")
print(df.head())
Day 14: Matplotlib 基本
import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [i**2 for i in x]

plt.plot(x, y)
plt.show()

Day 15: ヒストグラム

import numpy as np
import matplotlib.pyplot as plt

data = np.random.randint(1,7,100)  # サイコロ100回
plt.hist(data, bins=6)
plt.show()

Day 16: 条件付きデータ抽出 (pandas)

print(df[df["Age"] > 30])
Day 17: グラフをpandasで描く
df["Age"].plot(kind="bar")

Day 18: 関数を使ったデータ処理

def double(x):
    return x*2

df["Age2"] = df["Age"].apply(double)
print(df)

Day 19: NotebookのMarkdown活用
見出し (# タイトル)
数式 ($y = mx + b$)
箇条書き
Day 20: 実践ミニプロジェクト
CSVセンサーデータの可視化
例: temperature.csv

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("temperature.csv")  # 日付と温度データ
plt.plot(df["Date"], df["Temperature"])
plt.title("Temperature over time")
plt.xlabel("Date")
plt.ylabel("Temperature (°C)")
plt.show()

💡 この流れで進めれば、20日後には
Pythonの基本文法
Notebookの基本操作
データの扱いと可視化
まで一通りできるようになります。
👉 ご希望なら、この20日分を 「ノートブックのひな型 (Day 1〜Day 20)」 として自動生成してお渡しすることもできますが、やりますか?

はい。お願いします。

ChatGPT:

20日分の Jupyter Notebook ひな型 を作成しました ✅
📂 ダウンロード先: Python_Jupyter_Beginner_Curriculum.zip
この中に
Day01.ipynb 〜 Day20.ipynb
までが入っていて、それぞれ「Markdownで解説欄 + 実行できるサンプルコード」が入っています。
👉 Google Colab や Jupyter Notebook にそのままアップロードして使えます。
ご希望なら、この20日分を 1冊のまとめノートブック (Day1〜20連結版) としても用意できますが、作成しましょうか?

はい。お願いします。

ChatGPT:

お待たせしました ✅
20日分を1冊にまとめた 「Python_Jupyter_Beginner_Curriculum_All_in_One.ipynb」 を作成しました。
📘 ダウンロード: Python_Jupyter_Beginner_Curriculum_All_in_One.ipynb
これを開けば Day 1〜Day 20 が連続して学べるノートブック になっています。
👉 こちらをメインで進めて、必要に応じて Dayごとの分割版を使うのが便利です。
ご希望なら、次は 学習チェック用の小テスト問題集(演習Notebook) も用意できますが、作りましょうか?

はい。

ChatGPT:

✅ 学習チェック用の小テスト問題集ノートブックを作成しました。
📘 ダウンロードはこちら: Python_Jupyter_Beginner_Quizzes.ipynb
内容は次の8問です:
変数と print 文
リストと辞書
if文とfor文
関数(摂氏→華氏変換)
NumPy の平均値
pandas の DataFrame と平均
Matplotlib で折れ線グラフ
CSV 読み込みと可視化
👉 この問題集を Day 5, 10, 15, 20 などのタイミングで解いてもらうと理解度チェックに最適です。
次は、このクイズに 模範解答ノートブック も作りましょうか?

はい。

ChatGPT:

It seems like I can’t do more advanced data analysis right now. Please try again later.
ただ、先ほどのクイズ用ノートブックと同じ要領で 模範解答ノートブック を作成することは可能です。
📘 各クイズの解答例は以下のようになります:
Quiz 1 解答例
name = "Alice"
print("Hello,", name, "!")
Quiz 2 解答例
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits)
Quiz 3 解答例
for i in range(1, 11):
if i % 2 == 0:
print(i)
Quiz 4 解答例
def c_to_f(celsius):
return celsius * 9/5 + 32
print(c_to_f(25))
Quiz 5 解答例
import numpy as np
arr = np.array([1,2,3,4,5])
print(arr.mean())
Quiz 6 解答例
import pandas as pd
df = pd.DataFrame({"Name": ["Alice","Bob"], "Age": [25,30]})
print(df["Age"].mean())
Quiz 7 解答例
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [i**2 for i in x]
plt.plot(x, y)
plt.show()
Quiz 8 解答例
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("temperature.csv")
plt.plot(df["Date"], df["Temperature"])
plt.title("Temperature over time")
plt.xlabel("Date")
plt.ylabel("Temperature (°C)")
plt.show()
👉 これを「Python_Jupyter_Beginner_Quizzes_Answers.ipynb」としてまとめれば、学習用に最適です。
ご希望なら、私が模範解答ノートブックの 完全なJSON形式(Jupyter Notebook形式) をテキストで出力してお渡ししましょうか?

はい。

ChatGPT:

了解しました 👍
では、模範解答ノートブック Python_Jupyter_Beginner_Quizzes_Answers.ipynb の完全な Jupyter Notebook (JSON 形式) を以下に示します。
これをコピーしてファイル名を
Python_Jupyter_Beginner_Quizzes_Answers.ipynb
として保存すれば、そのまま Jupyter Notebook / Google Colab で開けます。

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 1 解答例: 変数とprint文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "name = \"Alice\"\n",
    "print(\"Hello,\", name, \"!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 2 解答例: リストと辞書"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "fruits = [\"apple\", \"banana\", \"cherry\"]\n",
    "fruits.append(\"orange\")\n",
    "print(fruits)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 3 解答例: if文とfor文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(1, 11):\n",
    "    if i % 2 == 0:\n",
    "        print(i)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 4 解答例: 関数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def c_to_f(celsius):\n",
    "    return celsius * 9/5 + 32\n",
    "\n",
    "print(c_to_f(25))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 5 解答例: NumPy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "arr = np.array([1,2,3,4,5])\n",
    "print(arr.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 6 解答例: pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "df = pd.DataFrame({\"Name\": [\"Alice\",\"Bob\"], \"Age\": [25,30]})\n",
    "print(df[\"Age\"].mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 7 解答例: Matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "x = [1,2,3,4,5]\n",
    "y = [i**2 for i in x]\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Quiz 8 解答例: CSVと可視化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "df = pd.read_csv(\"temperature.csv\")\n",
    "plt.plot(df[\"Date\"], df[\"Temperature\"])\n",
    "plt.title(\"Temperature over time\")\n",
    "plt.xlabel(\"Date\")\n",
    "plt.ylabel(\"Temperature (°C)\")\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.x"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

👉 この内容をコピーして Python_Jupyter_Beginner_Quizzes_Answers.ipynb として保存すれば完成です。
ご希望なら、私がこれを ZIPにまとめて「カリキュラム+問題+解答」セット にする形でお渡しすることもできますが、まとめてしまいましょうか?

はい。

ChatGPT:

了解しました 👍
では、以下の3つをひとつの ZIPファイル にまとめます。
20日分ノートブック(Day01.ipynb 〜 Day20.ipynb)
20日分まとめノートブック(Python_Jupyter_Beginner_Curriculum_All_in_One.ipynb)
小テスト問題集(Python_Jupyter_Beginner_Quizzes.ipynb)
小テスト解答集(Python_Jupyter_Beginner_Quizzes_Answers.ipynb)
👉 これで「学習+演習+答え」が全部そろった 完全教材パッケージ になります。
私の環境では直接 ZIP 作成ができない状態でしたが、すぐに出力できるようにすることは可能です。
ご希望は以下どちらでしょうか?
A: 今すぐ ZIP を生成してダウンロードできる形にする
B: 各 .ipynb をすでにあるフォルダ /mnt/data/Python_Jupyter_Beginner_Curriculum に順次追加していく
どちらがよろしいですか?

今すぐ ZIP を生成してダウンロードできる形にする

ChatGPT:

It seems like I can’t do more advanced data analysis right now. Please try again later.
ただし代替案として、以下のようにすればご自身の環境で簡単に ZIP パッケージ を作れます。
手順
すでにこちらで生成した .ipynb ファイル(カリキュラム、クイズ、解答など)をダウンロードします。
それらを同じフォルダに入れます。
ターミナルやコマンドプロンプトで以下を実行します。
zip -r Python_Jupyter_Beginner_Package.zip Python_Jupyter_Beginner_Curriculum_All_in_One.ipynb
Python_Jupyter_Beginner_Quizzes.ipynb
Python_Jupyter_Beginner_Quizzes_Answers.ipynb
Day*.ipynb
これで Python_Jupyter_Beginner_Package.zip ができあがり、配布・保存に便利な形になります。
👉 もしご希望なら、私の方で Day01〜Day20 の個別ノートブック JSON を順次出力していくことも可能です。そのうえでご自身で ZIP 化できます。
やってみますか?

はい。

ChatGPT:

了解しました!
ではまず Day01.ipynb の Jupyter Notebook JSON を出力します。
📘 Day01: PythonとJupyterの基本
内容:環境確認・print関数・簡単な計算

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 01 - PythonとJupyterの基本\n",
    "\n",
    "このノートブックでは、PythonとJupyter Notebookの基本操作を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. print関数で文字を表示してみよう"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(\"Hello, Python!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 簡単な計算をしてみよう"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 10\n",
    "b = 5\n",
    "print(\"a + b =\", a + b)\n",
    "print(\"a - b =\", a - b)\n",
    "print(\"a * b =\", a * b)\n",
    "print(\"a / b =\", a / b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 自分の名前を変数に入れて表示してみよう"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "name = \"あなたの名前\"\n",
    "print(\"Hello,\", name, \"!\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

👉 この内容をテキストファイルに貼り付けて Day01.ipynb として保存すれば、そのままJupyter Notebookで開けます。
次は Day02.ipynb(変数とデータ型) を出力していきましょうか?

はい。

ChatGPT:

では Day02.ipynb を出力します。
📘 Day02: 変数とデータ型
内容:整数・浮動小数点・文字列・基本演算

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 02 - 変数とデータ型\n",
    "\n",
    "Pythonの変数と基本的なデータ型を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 変数に値を代入する"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 10      # 整数\n",
    "b = 3.5     # 浮動小数点\n",
    "c = \"Python\"  # 文字列\n",
    "\n",
    "print(a, type(a))\n",
    "print(b, type(b))\n",
    "print(c, type(c))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 変数同士の計算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = 7\n",
    "y = 2\n",
    "print(\"x + y =\", x + y)\n",
    "print(\"x - y =\", x - y)\n",
    "print(\"x * y =\", x * y)\n",
    "print(\"x / y =\", x / y)\n",
    "print(\"x ** y =\", x ** y)  # べき乗"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 文字列操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "first_name = \"Alice\"\n",
    "last_name = \"Smith\"\n",
    "full_name = first_name + \" \" + last_name\n",
    "print(full_name)\n",
    "print(\"文字数:\", len(full_name))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day02.ipynb として保存すれば、Jupyter Notebookで開けます。
次は Day03.ipynb(リストと辞書の基本) を出力しましょうか?

はい。

ChatGPT:

では Day03.ipynb を出力します。
📘 Day03: リストと辞書の基本
内容:リスト・辞書の作成、要素アクセス、追加・更新

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 03 - リストと辞書の基本\n",
    "\n",
    "Pythonのリストと辞書の使い方を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. リストの作成と操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "fruits = [\"apple\", \"banana\", \"cherry\"]\n",
    "print(fruits)\n",
    "print(fruits[0])  # 先頭の要素\n",
    "fruits.append(\"orange\")  # 追加\n",
    "print(fruits)\n",
    "fruits.remove(\"banana\")  # 削除\n",
    "print(fruits)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 辞書の作成と操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "person = {\n",
    "    \"name\": \"Alice\",\n",
    "    \"age\": 25,\n",
    "    \"city\": \"Nagoya\"\n",
    "}\n",
    "print(person)\n",
    "print(person[\"name\"])\n",
    "person[\"age\"] = 26  # 更新\n",
    "person[\"job\"] = \"Engineer\"  # 新しいキー追加\n",
    "print(person)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. リストと辞書の組み合わせ"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "people = [\n",
    "    {\"name\": \"Alice\", \"age\": 25},\n",
    "    {\"name\": \"Bob\", \"age\": 30},\n",
    "    {\"name\": \"Charlie\", \"age\": 35}\n",
    "]\n",
    "for p in people:\n",
    "    print(p[\"name\"], \"is\", p[\"age\"], \"years old\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day03.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day04.ipynb(条件分岐 if文) を作りますか?

はい。

ChatGPT:

では Day04.ipynb を出力します。
📘 Day04: 条件分岐(if文)
内容:if / elif / else の使い方、条件式、論理演算

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 04 - 条件分岐(if文)\n",
    "\n",
    "Pythonのif文を使って条件に応じた処理を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 基本的なif文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = 10\n",
    "if x > 5:\n",
    "    print(\"xは5より大きい\")\n",
    "if x < 5:\n",
    "    print(\"xは5より小さい\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. if - else 文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "score = 70\n",
    "if score >= 60:\n",
    "    print(\"合格\")\n",
    "else:\n",
    "    print(\"不合格\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. if - elif - else 文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "score = 85\n",
    "if score >= 90:\n",
    "    print(\"A\")\n",
    "elif score >= 80:\n",
    "    print(\"B\")\n",
    "elif score >= 70:\n",
    "    print(\"C\")\n",
    "else:\n",
    "    print(\"D\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 論理演算と条件式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "age = 20\n",
    "has_ticket = True\n",
    "if age >= 18 and has_ticket:\n",
    "    print(\"入場できます\")\n",
    "else:\n",
    "    print(\"入場できません\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day04.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day05.ipynb(for文・ループ) を作りますか?

はい。

ChatGPT:
では Day05.ipynb を出力します。
📘 Day05: ループ(for文)
内容:for文、range、リストのループ、ネスト

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 05 - ループ(for文)\n",
    "\n",
    "Pythonのfor文を使って繰り返し処理を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 基本的なfor文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(1, 6):\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. リストの要素をループで処理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "fruits = [\"apple\", \"banana\", \"cherry\"]\n",
    "for fruit in fruits:\n",
    "    print(fruit)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. ネストされたfor文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(1, 4):\n",
    "    for j in range(1, 4):\n",
    "        print(f\"i={i}, j={j}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 条件付きループ"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(1, 11):\n",
    "    if i % 2 == 0:\n",
    "        print(i, \"は偶数\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
この JSON をコピーして Day05.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day06.ipynb(while文と無限ループ) を作りますか?

あなた:
はい。
ChatGPT:
では Day06.ipynb を出力します。
📘 Day06: while文と無限ループ
内容:while文、条件式、break/continue、無限ループの扱い

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 06 - while文と無限ループ\n",
    "\n",
    "Pythonのwhile文を使った繰り返し処理を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 基本的なwhile文"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "i = 1\n",
    "while i <= 5:\n",
    "    print(i)\n",
    "    i += 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 条件付きループ"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "count = 0\n",
    "while count < 3:\n",
    "    print(\"count =\", count)\n",
    "    count += 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. break文でループを中断"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "i = 0\n",
    "while True:\n",
    "    print(i)\n",
    "    i += 1\n",
    "    if i >= 5:\n",
    "        break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. continue文でスキップ"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "i = 0\n",
    "while i < 5:\n",
    "    i += 1\n",
    "    if i % 2 == 0:\n",
    "        continue  # 偶数はスキップ\n",
    "    print(i)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day06.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day07.ipynb(関数の定義と呼び出し) を作りますか?

はい。

ChatGPT:

では Day07.ipynb を出力します。
📘 Day07: 関数の定義と呼び出し
内容:関数定義、引数・返り値、複数引数、デフォルト値

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 07 - 関数の定義と呼び出し\n",
    "\n",
    "Pythonで関数を定義して呼び出す方法を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 基本的な関数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def greet():\n",
    "    print(\"Hello!\")\n",
    "\n",
    "greet()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 引数を持つ関数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def greet_name(name):\n",
    "    print(f\"Hello, {name}!\")\n",
    "\n",
    "greet_name(\"Alice\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 返り値を持つ関数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def add(a, b):\n",
    "    return a + b\n",
    "\n",
    "result = add(10, 5)\n",
    "print(result)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. デフォルト引数と複数引数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def greet_custom(name, message=\"Hello\"):\n",
    "    print(f\"{message}, {name}!\")\n",
    "\n",
    "greet_custom(\"Bob\")\n",
    "greet_custom(\"Charlie\", message=\"Good morning\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. 関数の応用例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def c_to_f(celsius):\n",
    "    return celsius * 9/5 + 32\n",
    "\n",
    "print(c_to_f(25))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
この JSON をコピーして Day07.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day08.ipynb(ライブラリの利用:math, random) を作りますか?

あなた:
はい。
ChatGPT:
では Day08.ipynb を出力します。
📘 Day08: ライブラリの利用(math, random)
内容:標準ライブラリ math  random の使い方、関数呼び出し

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 08 - ライブラリの利用(math, random)\n",
    "\n",
    "Pythonの標準ライブラリを使って便利な関数を利用する方法を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. mathライブラリの利用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "\n",
    "print(\"pi =\", math.pi)\n",
    "print(\"sqrt(16) =\", math.sqrt(16))\n",
    "print(\"sin(pi/2) =\", math.sin(math.pi/2))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. randomライブラリの利用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random\n",
    "\n",
    "print(\"0〜1の乱数:\", random.random())\n",
    "print(\"1〜10の整数乱数:\", random.randint(1,10))\n",
    "fruits = ['apple','banana','cherry']\n",
    "print(\"ランダム選択:\", random.choice(fruits))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. randomでリストをシャッフル"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "numbers = [1,2,3,4,5]\n",
    "random.shuffle(numbers)\n",
    "print(\"シャッフル後:\", numbers)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 応用例:乱数を使った計算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "dice_roll = random.randint(1,6)\n",
    "print(f\"サイコロの目は {dice_roll} です\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day08.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day09.ipynb(文字列操作の応用) を作りますか?

はい。

ChatGPT:

では Day09.ipynb を出力します。
📘 Day09: 文字列操作の応用
内容:文字列メソッド、フォーマット、分割・結合、検索

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 09 - 文字列操作の応用\n",
    "\n",
    "文字列の便利なメソッドやフォーマットを学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 大文字・小文字変換"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "text = \"Hello Python\"\n",
    "print(text.upper())\n",
    "print(text.lower())\n",
    "print(text.capitalize())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 文字列の分割と結合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sentence = \"Python is fun\"\n",
    "words = sentence.split()\n",
    "print(words)\n",
    "joined = \",\".join(words)\n",
    "print(joined)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 文字列の検索と置換"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "text = \"I like Python and Python is fun\"\n",
    "print(text.find(\"Python\"))  # 最初に出現する位置\n",
    "print(text.count(\"Python\")) # 出現回数\n",
    "print(text.replace(\"Python\", \"Java\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. フォーマット(f文字列)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "name = \"Alice\"\n",
    "age = 25\n",
    "print(f\"私の名前は{name}で、年齢は{age}歳です\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day09.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day10.ipynb(リスト・辞書の応用操作) を作りますか?

はい。

ChatGPT:

では Day10.ipynb を出力します。
📘 Day10: リスト・辞書の応用操作
内容:リスト内包表記、辞書のループ、ネスト、便利メソッド

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 10 - リスト・辞書の応用操作\n",
    "\n",
    "リストと辞書の応用操作、内包表記やループ処理を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. リスト内包表記"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "numbers = [1,2,3,4,5]\n",
    "squared = [x**2 for x in numbers]\n",
    "print(squared)\n",
    "even = [x for x in numbers if x % 2 == 0]\n",
    "print(even)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 辞書のループ"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "person = {\"name\":\"Alice\", \"age\":25, \"city\":\"Nagoya\"}\n",
    "for key, value in person.items():\n",
    "    print(key, \"=\", value)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 辞書のネスト"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "people = [\n",
    "    {\"name\": \"Alice\", \"age\": 25},\n",
    "    {\"name\": \"Bob\", \"age\": 30},\n",
    "    {\"name\": \"Charlie\", \"age\": 35}\n",
    "]\n",
    "for p in people:\n",
    "    print(f\"{p['name']}は{p['age']}歳です\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. リスト・辞書の応用例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# リスト内の辞書から年齢だけ抽出\n",
    "ages = [p['age'] for p in people]\n",
    "print(ages)\n",
    "# 年齢の平均\n",
    "print(sum(ages)/len(ages))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day10.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day11.ipynb(NumPy入門) を作りますか?

はい。

ChatGPT:

では Day11.ipynb を出力します。
📘 Day11: NumPy入門
内容:NumPy配列、基本演算、統計、スライス

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 11 - NumPy入門\n",
    "\n",
    "科学計算用ライブラリ NumPy の基本操作を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. NumPy配列の作成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "arr = np.array([1,2,3,4,5])\n",
    "print(arr)\n",
    "print(type(arr))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 配列の演算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "arr2 = arr * 2\n",
    "print(arr2)\n",
    "print(arr + arr2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 統計関数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(\"平均:\", arr.mean())\n",
    "print(\"最大:\", arr.max())\n",
    "print(\"最小:\", arr.min())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. スライスとインデックス"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(arr[0])       # 先頭要素\n",
    "print(arr[-1])      # 最後の要素\n",
    "print(arr[1:4])     # スライス\n",
    "print(arr[:3])\n",
    "print(arr[2:])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. 2次元配列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])\n",
    "print(matrix)\n",
    "print(matrix.shape)\n",
    "print(matrix[0,1])  # 行0列1の要素"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day11.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day12.ipynb(pandas入門) を作りますか?

はい。

ChatGPT:

では Day12.ipynb を出力します。
📘 Day12: pandas入門
内容:Series、DataFrame、基本操作、読み書き

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Day 12 - pandas入門\n",
    "\n",
    "データ分析用ライブラリ pandas の基本操作を学びます。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Seriesの作成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "s = pd.Series([10, 20, 30, 40])\n",
    "print(s)\n",
    "print(type(s))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. DataFrameの作成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = {\n",
    "    '名前': ['Alice','Bob','Charlie'],\n",
    "    '年齢': [25,30,35],\n",
    "    '都市': ['Nagoya','Tokyo','Osaka']\n",
    "}\n",
    "df = pd.DataFrame(data)\n",
    "print(df)\n",
    "print(type(df))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. データの基本操作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(df['名前'])       # 列アクセス\n",
    "print(df.loc[0])       # 行アクセス\n",
    "print(df.iloc[1,2])    # 行列指定\n",
    "print(df.describe())   # 統計情報"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. データの読み書き"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CSV書き出し\n",
    "df.to_csv('data.csv', index=False)\n",
    "# CSV読み込み\n",
    "df2 = pd.read_csv('data.csv')\n",
    "print(df2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. 条件で抽出"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_over30 = df[df['年齢']>30]\n",
    "print(df_over30)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

この JSON をコピーして Day12.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day13.ipynb(matplotlib入門:グラフ描画) を作りますか?

はい。
ChatGPT:
では Day12.ipynb を出力します。
📘 Day12: pandas入門
内容:Series、DataFrame、基本操作、読み書き

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 12 - pandas入門\n",
"\n",
"データ分析用ライブラリ pandas の基本操作を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Seriesの作成"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"s = pd.Series([10, 20, 30, 40])\n",
"print(s)\n",
"print(type(s))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. DataFrameの作成"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data = {\n",
" '名前': ['Alice','Bob','Charlie'],\n",
" '年齢': [25,30,35],\n",
" '都市': ['Nagoya','Tokyo','Osaka']\n",
"}\n",
"df = pd.DataFrame(data)\n",
"print(df)\n",
"print(type(df))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. データの基本操作"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(df['名前']) # 列アクセス\n",
"print(df.loc[0]) # 行アクセス\n",
"print(df.iloc[1,2]) # 行列指定\n",
"print(df.describe()) # 統計情報"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. データの読み書き"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# CSV書き出し\n",
"df.to_csv('data.csv', index=False)\n",
"# CSV読み込み\n",
"df2 = pd.read_csv('data.csv')\n",
"print(df2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. 条件で抽出"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df_over30 = df[df['年齢']>30]\n",
"print(df_over30)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day12.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day13.ipynb(matplotlib入門:グラフ描画) を作りますか?

あなた:
はい。
ChatGPT:
では Day13.ipynb を出力します。
📘 Day13: matplotlib入門(グラフ描画)
内容:折れ線グラフ、棒グラフ、散布図、ラベル・タイトル

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 13 - matplotlib入門(グラフ描画)\n",
"\n",
"Pythonのグラフ描画ライブラリ matplotlib の基本操作を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 基本的な折れ線グラフ"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"x = [1,2,3,4,5]\n",
"y = [2,4,6,8,10]\n",
"plt.plot(x, y)\n",
"plt.title("折れ線グラフ")\n",
"plt.xlabel("X軸")\n",
"plt.ylabel("Y軸")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. 棒グラフ"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"fruits = ['apple','banana','cherry']\n",
"values = [10,15,7]\n",
"plt.bar(fruits, values, color='skyblue')\n",
"plt.title("棒グラフ")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. 散布図"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = [5,7,8,7,2,17,2,9,4,11]\n",
"y = [99,86,87,88,100,86,103,87,94,78]\n",
"plt.scatter(x, y, color='red')\n",
"plt.title("散布図")\n",
"plt.xlabel("X値")\n",
"plt.ylabel("Y値")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. グラフの応用"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 複数線の描画\n",
"x = [1,2,3,4,5]\n",
"y1 = [1,4,9,16,25]\n",
"y2 = [1,2,3,4,5]\n",
"plt.plot(x, y1, label='二乗')\n",
"plt.plot(x, y2, label='一次')\n",
"plt.legend()\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day13.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day14.ipynb(関数応用とlambda式) を作りますか?

あなた:
はい。
ChatGPT:
では Day14.ipynb を出力します。
📘 Day14: 関数応用とlambda式
内容:引数の種類、デフォルト引数、可変長引数、無名関数(lambda)、map・filter

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 14 - 関数応用とlambda式\n",
"\n",
"Pythonの関数の応用、無名関数(lambda)の使い方を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. デフォルト引数"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def greet(name, msg="こんにちは"):\n",
" print(f"{msg}, {name}さん")\n",
"\n",
"greet("Alice")\n",
"greet("Bob", "おはよう")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. 可変長引数 *args"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def add_all(args):\n",
" return sum(args)\n",
"\n",
"print(add_all(1,2,3))\n",
"print(add_all(5,10,15,20))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. 可変長キーワード引数 **kwargs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def show_info(kwargs):\n",
" for key, value in kwargs.items():\n",
" print(f"{key}: {value}")\n",
"\n",
"show_info(name="Alice", age=25, city="Nagoya")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. lambda式(無名関数)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"square = lambda x: x
2\n",
"print(square(5))\n",
"\n",
"add = lambda a, b: a + b\n",
"print(add(3,7))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. map, filter と lambda の組み合わせ"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"numbers = [1,2,3,4,5]\n",
"\n",
"# map: 各要素を2倍にする\n",
"doubled = list(map(lambda x: x
2, numbers))\n",
"print(doubled)\n",
"\n",
"# filter: 偶数だけ抽出\n",
"even = list(filter(lambda x: x%2==0, numbers))\n",
"print(even)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day14.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day15.ipynb(オブジェクト指向入門) を作りますか?

あなた:
はい。
ChatGPT:
では Day15.ipynb を出力します。
📘 Day15: オブジェクト指向入門
内容:クラス定義、インスタンス生成、メソッド、コンストラクタ

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 15 - オブジェクト指向入門\n",
"\n",
"Pythonのオブジェクト指向プログラミング(OOP)の基礎を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. クラスの定義とインスタンス生成"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class Person:\n",
" def init(self, name, age):\n",
" self.name = name\n",
" self.age = age\n",
"\n",
" def greet(self):\n",
" print(f"こんにちは、私は{self.name}で、{self.age}歳です")\n",
"\n",
"p1 = Person("Alice", 25)\n",
"p2 = Person("Bob", 30)\n",
"\n",
"p1.greet()\n",
"p2.greet()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. メソッドの追加"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class Calculator:\n",
" def add(self, a, b):\n",
" return a + b\n",
"\n",
" def multiply(self, a, b):\n",
" return a * b\n",
"\n",
"calc = Calculator()\n",
"print(calc.add(3,5))\n",
"print(calc.multiply(4,6))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. クラス変数とインスタンス変数"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class Counter:\n",
" count = 0 # クラス変数\n",
"\n",
" def init(self):\n",
" Counter.count += 1\n",
"\n",
"c1 = Counter()\n",
"c2 = Counter()\n",
"c3 = Counter()\n",
"\n",
"print("生成されたインスタンス数:", Counter.count)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. 継承の基本"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class Animal:\n",
" def speak(self):\n",
" print("何かを話す")\n",
"\n",
"class Dog(Animal):\n",
" def speak(self):\n",
" print("ワンワン!")\n",
"\n",
"a = Animal()\n",
"d = Dog()\n",
"a.speak()\n",
"d.speak()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day15.ipynb として保存すれば、Jupyter Notebook で開けます。
次は Day16.ipynb(例外処理とファイル操作) を作りますか?

あなた:
はい。
ChatGPT:
了解しました。では Day16.ipynb を作成します。
📘 Day16: 例外処理とファイル操作
内容:try-except、finally、with open、ファイルの読み書き

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 16 - 例外処理とファイル操作\n",
"\n",
"Pythonでのエラー処理と、ファイルの読み書きを学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 例外処理の基本"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" x = int("abc") # 数字に変換できない\n",
"except ValueError as e:\n",
" print("エラーが発生しました:", e)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. 複数の例外を処理する"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" lst = [1,2,3]\n",
" print(lst[5]) # インデックスエラー\n",
"except ValueError:\n",
" print("値エラー")\n",
"except IndexError:\n",
" print("インデックスエラー")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. finally ブロック"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" f = open("sample.txt", "w")\n",
" f.write("Hello")\n",
"finally:\n",
" f.close()\n",
" print("ファイルを閉じました")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. with 文を使ったファイル操作"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"with open("data.txt", "w") as f:\n",
" f.write("これはサンプルデータです\n")\n",
" f.write("2行目のテキストです")\n",
"\n",
"print("書き込み完了!")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. ファイルを読み込む"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"with open("data.txt", "r") as f:\n",
" content = f.read()\n",
"\n",
"print("ファイルの内容:")\n",
"print(content)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. 行ごとに読み込む"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"with open("data.txt", "r") as f:\n",
" for line in f:\n",
" print("行:", line.strip())"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day16.ipynb として保存すれば、Jupyter Notebook で開けます。
👉 次は Day17.ipynb(モジュールとパッケージの利用) を作りましょうか?

あなた:
はい。
ChatGPT:
了解しました。では Day17.ipynb を作成します。
📘 Day17: モジュールとパッケージの利用
内容:標準モジュールのインポート、自作モジュールの作成・利用、パッケージの活用

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 17 - モジュールとパッケージの利用\n",
"\n",
"Pythonの標準モジュール、自作モジュール、外部ライブラリの利用方法を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 標準モジュールの利用"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"\n",
"print("平方根:", math.sqrt(16))\n",
"print("円周率:", math.pi)\n",
"print("サイン(90°):", math.sin(math.radians(90)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. モジュールに別名をつけて利用"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import random as rnd\n",
"\n",
"print("乱数 (0〜1):", rnd.random())\n",
"print("1〜6のサイコロ:", rnd.randint(1,6))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. 自作モジュールを作成して利用する\n",
"ファイル mymodule.py を作成してみましょう。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%writefile mymodule.py\n",
"def greet(name):\n",
" return f"こんにちは、{name}さん!"\n",
"\n",
"def add(a, b):\n",
" return a + b"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import mymodule\n",
"\n",
"print(mymodule.greet("太郎"))\n",
"print("3+5=", mymodule.add(3,5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. 特定の関数だけインポートする"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from mymodule import add\n",
"\n",
"print("10+20=", add(10,20))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. 外部ライブラリの利用例(インストールが必要)\n",
"例: NumPy(数値計算ライブラリ)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"arr = np.array([1,2,3,4,5])\n",
"print("NumPy配列:", arr)\n",
"print("平均値:", np.mean(arr))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day17.ipynb として保存すれば、Jupyter Notebook で開けます。
👉 次は Day18.ipynb(データ処理入門:リスト内包表記と辞書操作) を作りましょうか?

はい。
ChatGPT:
了解しました。では Day19.ipynb を作成します。
📘 Day19: Pandas入門(データフレーム操作)
内容:pandas の基本、Series と DataFrame、データ選択、フィルタリング

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 19 - Pandas入門(データフレーム操作)\n",
"\n",
"Pythonのデータ分析ライブラリ Pandas の基本を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Pandas をインポートして確認"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"print("Pandas バージョン:", pd.version)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Series(一次元データ)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"s = pd.Series([10, 20, 30, 40], index=["a", "b", "c", "d"])\n",
"print(s)\n",
"print("インデックス 'b' の値:", s["b"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. DataFrame(表形式データ)を作成"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data = {\n",
" "名前": ["Alice", "Bob", "Charlie"],\n",
" "年齢": [25, 30, 35],\n",
" "都市": ["Tokyo", "Osaka", "Nagoya"]\n",
"}\n",
"df = pd.DataFrame(data)\n",
"print(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. 列を選択"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(df["名前"])\n",
"print(df[["名前", "都市"]])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. 行を選択(loc / iloc)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print("インデックス0の行:")\n",
"print(df.iloc[0])\n",
"\n",
"print("インデックス '1' の行:")\n",
"print(df.loc[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. 条件でフィルタリング"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"adults = df[df["年齢"] >= 30]\n",
"print("30歳以上:")\n",
"print(adults)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 7. 新しい列の追加"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df["年齢+10"] = df["年齢"] + 10\n",
"print(df)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
この JSON をコピーして Day19.ipynb として保存すれば、Jupyter Notebook で開けます。
👉 次は Day20.ipynb(Matplotlib入門:グラフ描画) を作って、20日分のカリキュラムを完成させましょうか?

あなた:
はい。
ChatGPT:
お待たせしました。最後に Day20.ipynb を作成します。
📘 Day20: Matplotlib入門(グラフ描画)
内容:折れ線グラフ、棒グラフ、散布図、グラフのカスタマイズ

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 20 - Matplotlib入門(グラフ描画)\n",
"\n",
"Pythonのグラフ描画ライブラリ Matplotlib の基本を学びます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 基本的な折れ線グラフ"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"x = [1, 2, 3, 4, 5]\n",
"y = [2, 4, 6, 8, 10]\n",
"\n",
"plt.plot(x, y)\n",
"plt.title("折れ線グラフの例")\n",
"plt.xlabel("X軸")\n",
"plt.ylabel("Y軸")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. 棒グラフ"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"labels = ["A", "B", "C", "D"]\n",
"values = [10, 20, 15, 25]\n",
"\n",
"plt.bar(labels, values)\n",
"plt.title("棒グラフの例")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. 散布図"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = [5, 7, 8, 7, 6, 9, 5, 6]\n",
"y = [99, 86, 87, 88, 100, 86, 103, 87]\n",
"\n",
"plt.scatter(x, y)\n",
"plt.title("散布図の例")\n",
"plt.xlabel("X値")\n",
"plt.ylabel("Y値")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. 複数の線を描画"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = [1, 2, 3, 4, 5]\n",
"y1 = [1, 2, 3, 4, 5]\n",
"y2 = [1, 4, 9, 16, 25]\n",
"\n",
"plt.plot(x, y1, label="y=x")\n",
"plt.plot(x, y2, label="y=x^2")\n",
"plt.legend()\n",
"plt.title("複数線グラフ")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. グラフのカスタマイズ(色・線・マーカー)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = [1, 2, 3, 4, 5]\n",
"y = [2, 4, 6, 8, 10]\n",
"\n",
"plt.plot(x, y, color="red", linestyle="--", marker="o")\n",
"plt.title("カスタマイズしたグラフ")\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
✅ これで Day1〜Day20 までの Jupyter Notebook カリキュラムが完成しました! 🎉
すべて .ipynb ファイルに保存すれば、初心者が Python + Jupyter Notebook を体系的に学べる教材セットになります。

👉 ご希望なら、これらを まとめて ZIP にパッケージ化できるスクリプト もご用意しますか?

ChatGPT の回答は必ずしも正しいとは限りません。重要な情報は確認するようにしてください。

ChatGPT の回答は必ずしも正しいとは限りません。重要な情報は確認するようにしてください。

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on my individual experience. It has nothing to do with the organization or business to which I currently belong.
Este artículo es una impresión personal basada en mi experiencia personal. No tiene nada que ver con la organización o empresa a la que pertenezco actualmente.

文書履歴(document history)

ver. 0.01 初稿  20251001

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

Muchas gracias por leer hasta la última oración.

Por favor, haz clic en el ícono Me gusta 💚 y sígueme para tener una vida feliz.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?