diff --git a/docs/01python/02get-started/index.mdx b/docs/01python/02hello-world/index.mdx similarity index 69% rename from docs/01python/02get-started/index.mdx rename to docs/01python/02hello-world/index.mdx index ec0f0dc90..d68c2c955 100644 --- a/docs/01python/02get-started/index.mdx +++ b/docs/01python/02hello-world/index.mdx @@ -13,9 +13,9 @@ import Answer from "@site/src/components/Answer"; プログラミングの世界では、まず画面上に `Hello World!` と表示させるのが慣例になっています。以下のコードが画面上に `Hello World!` と表示するプログラムです。以下のコードを Google Colaboratory 上で実行してみましょう。 - + -`Hello World!` と表示されましたか。 +`Hello World!` と表示されたら成功です。 `print` は画面に文字列を表示させる命令です。`"` と `"` で括った文字列が画面に表示されます。 @@ -25,9 +25,9 @@ import Answer from "@site/src/components/Answer"; -`"` と `"` で括られた文字列を `Hello World!` から次のように `Hello from Python` に変えれば、完成です。 +`"` と `"` で括られた文字列を `Hello World!` から次のように `Hello from Python!` に変えれば、完成です。 - + ## コメント @@ -35,10 +35,6 @@ import Answer from "@site/src/components/Answer"; `#` から文末まではコメントとして扱われます。 プログラムを読みやすくするために説明を書くときや一時的にあるコードを実行しないようにするときなどによく使われます。 - + - - -ダブルクォーテーション 3 つ(`"""`)を使って、複数行のコメントを書くこともできます。 - - + diff --git a/docs/01python/03expressions/index.mdx b/docs/01python/03expressions/index.mdx index 9e46afb97..d1257cbc8 100644 --- a/docs/01python/03expressions/index.mdx +++ b/docs/01python/03expressions/index.mdx @@ -5,11 +5,11 @@ sidebar_position: 3 import ViewSource from "@site/src/components/ViewSource"; import Answer from "@site/src/components/Answer"; -# 式と演算子 +# 算術演算子 -## 式と演算子 +## 算術演算子 -Python で計算をしてみましょう。次のように書くと、$1+1$ を Python で計算し、その結果を表示することができます。 +Python を使って計算をしてみましょう。次のように書くと、$1+1$ を Python に計算させて、その結果を表示することができます。 @@ -44,7 +44,7 @@ Python では足し算以外にも次のように様々な計算をすること -:::info +:::tip 平方根は 0.5 乗とすることで計算できます。 ::: diff --git a/docs/01python/04variables/index.mdx b/docs/01python/04variable/index.mdx similarity index 70% rename from docs/01python/04variables/index.mdx rename to docs/01python/04variable/index.mdx index e80813315..623622ff8 100644 --- a/docs/01python/04variables/index.mdx +++ b/docs/01python/04variable/index.mdx @@ -9,31 +9,31 @@ import Answer from "@site/src/components/Answer"; ## 変数 -前項のようにして、10℃ での音速を求めてみましょう。$V$ を音速、$t$ を摂氏温度とすると、音速は次のようにして求められるとします。 +前項のようにして、10℃ での音速を求めてみましょう。$V$ を音速、$t$ を摂氏温度とすると、音速は次のような式で求められるとします。 $$ V=331.5+0.6t $$ - + 一応できましたが、 $t$ を変えようとすると、(これぐらいならすぐできますが)いちいちプログラムを全て読み直さないといけません。 しかし、Python では変数が使えます。変数は数値や文字列を入れられる箱のようなもので、任意の数値や文字列を格納することができます。そのため、変数を使うと、次のようにより簡単に記述できます。 - + このようにすれば、例えば 10℃ ではなく 20℃ のときの音速を求めたくなったときに `t = 20` とするだけでよくなり、より簡単にプログラムを変更することができます。 -:::info +:::tip Python では、数学とは違い `=` は右の結果を左の変数に代入するという意味です。 そのため、次のようなプログラムを実行すると 2 が出力されます。 - + ::: -:::note 命名規則 -複数の語を一語につなげて表す場合、様々な命名方法があります。下に主なものの名称と例を示します。 +:::info 命名規則 +複数の語を一語につなげて表す場合、様々な命名規則があります。下に主なものの名称と例を示します。 | 名称 | 例 | | -------------- | ------------ | @@ -43,21 +43,20 @@ Python では、数学とは違い `=` は右の結果を左の変数に代入 | ケバブケース | `kebab-case` | Python では、スネークケースを使うことが多いようです。 -(ただし、クラス(後で出てきます)の命名には、パスカルケースを使うようです。) - -複数の語を一語につなげる場合は、上記のように `_`(アンダーバー)を使って文節が分かるようにすると良いでしょう。 +(ただし、クラス(ここでは説明しません)の命名には、パスカルケースを使うようです。) +そのため、複数の語を一語につなげる場合は、上記のように `_`(アンダーバー)を使って文節が分かるようにすると良いでしょう。 ::: -:::note 定数(他の言語の学習者へ) +:::info 定数(他の言語の学習者へ) Python では定数は使えないようです。慣習的に定数は大文字のみの変数として表すようです。例: `SAMPLE_CONST` ::: ### 練習問題 1 -[式と演算子の項](/docs/01python/03expressions/#問題)の摂氏温度から華氏温度を求める練習問題を変数を使って解いてみましょう。 +[演算子の項](/docs/01python/03expressions/#問題)の摂氏温度から華氏温度を求める練習問題を変数を使って解いてみましょう。 - + ### 練習問題 2 @@ -75,5 +74,5 @@ y 3 行目では、`x + y` の値が評価されてその結果が `y` に代入されます。そのため、$2+3=5$ が `y` に代入され `5` が出力されます。 - + diff --git a/docs/01python/05function/index.mdx b/docs/01python/05function/index.mdx index 7316a43ae..33feda432 100644 --- a/docs/01python/05function/index.mdx +++ b/docs/01python/05function/index.mdx @@ -9,7 +9,7 @@ import Answer from "@site/src/components/Answer"; ## 関数 -$f(x)=x^2$ としたときの、$f(2)+f(3)$ を求めてみましょう。 +$f(x) = x^2$ としたときの、$f(2) + f(3)$ を求めてみましょう。 @@ -48,10 +48,8 @@ Python では、きちんとインデント(字下げ)をしないとエラ -:::note -上のプログラムは、下と同じ意味です。下のプログラムでも問題ないのですが、少し格好悪いので、`f-string` を使ってしまいました。気にしないでください。 - -`+` 記号を使うと、文字列をつなげることができます。 +:::info +上のプログラムでも問題ないのですが、実際には次のプログラムのように `f-string` を使った表記の方が可読性が高くなって良さそうです。 ::: @@ -60,8 +58,8 @@ Python では、きちんとインデント(字下げ)をしないとエラ -:::note -先ほどと同様の理由で `f-string` を使ってしまいました。`f-string` を使わないと、次のようになります。 +:::info +`f-string` を使うと、次のようになります。 ::: @@ -91,8 +89,8 @@ $G=6.7\times 10^{-11}$、$r=2$、$M=60$、$m=20$ とします。 -:::note -`f-string` を使わないと次のようになります。 +:::info +`f-string` を使うと次のようになります。 ::: diff --git a/docs/01python/06library/index.mdx b/docs/01python/06library/index.mdx index ec486b176..c915988d2 100644 --- a/docs/01python/06library/index.mdx +++ b/docs/01python/06library/index.mdx @@ -27,6 +27,12 @@ import math `math` ライブラリにはこれ以外にも多くの関数が定義されています。その一部を紹介します。 +:::caution + +下に示した `math` ライブラリの関数をすべて覚えようとしなくて構いません。必要なときに、調べれば十分です。`math` ライブラリのドキュメントは[こちら](https://docs.python.org/ja/3/library/math.html)です。よく使う関数は自然に覚えます。 + +::: + | 関数名 | 説明 | 例 | | ------------------ | ------------------------------------ | ------------------------------------------ | | `math.pi` | $\pi$ を返す。 | | @@ -45,7 +51,7 @@ import math また、`math` ライブラリ以外にも便利なライブラリはたくさんあるので、それについても調べてみましょう。 :::note 調べ方 -まず、やりたいことを[Google](https://www.google.co.jp/)や[Yahoo Japan!](https://www.yahoo.co.jp/)、[Bing](https://www.bing.com/?cc=jp)などの検索エンジンを用いて調べてみましょう。Python に関する情報は豊富にあるので、きっと見つかるはずです。そこで、どのような方法を使えば良いのかわかったら、公式のドキュメントを読んで詳しい使い方を学びましょう。インターネットには古い情報や間違った情報も多くあるので、公式ドキュメントを読むとよく分かることも多いです。 +まず、やりたいことを[Google](https://www.google.co.jp/)や[Yahoo! Japan](https://www.yahoo.co.jp/)、[Bing](https://www.bing.com/?cc=jp)などの検索エンジンを用いて調べてみましょう。Python に関する情報は豊富にあるので、きっと見つかるはずです。そこで、どのような方法を使えば良いのかわかったら、公式のドキュメントを読んで詳しい使い方を学びましょう。インターネットには古い情報や間違った情報も多くあるので、公式ドキュメントを読むとよく分かることも多いです。 Python の公式ドキュメントは、を見ると良いでしょう。 ::: @@ -71,8 +77,8 @@ Python の公式ドキュメントは、を見る -:::note -$e^1=e$ であることを利用して下のようにすれば調べなくてもできますが(笑)、上のようにした方が良いでしょう。 +:::info +$e^1 = e$ であることを利用して下のようにすれば調べなくてもできますが(笑)、上のようにした方が良いでしょう。 ::: diff --git a/docs/01python/07pip/index.mdx b/docs/01python/07pip/index.mdx index 87b41778c..8dcb8f3f4 100644 --- a/docs/01python/07pip/index.mdx +++ b/docs/01python/07pip/index.mdx @@ -9,18 +9,24 @@ import Answer from "@site/src/components/Answer"; ## pip -前項で、Python では様々なライブラリを使用することができると書きました。一部のプリインストールされているライブラリは先程のようにただファイルの先頭で `import ライブラリ名` のように書くだけでライブラリを使用することができますが、多くのライブラリはこれだけでは使用することができません。 +前項で、Python では様々なライブラリを使用することができると書きました。一部のプリインストールされているライブラリは先程のようにただファイルの先頭で `import ライブラリ名` のように書くだけでライブラリを使用することができますが、多くのライブラリはこれだけでは使用することができません。パッケージをインストールする必要があります。 Python では、パッケージのインストールを行うユーティリティとして、pip(Pip Installs Packages, Pip Installs Python) が使われます。 ## pip の使い方 -Google Colaboratory で pip を使ってパッケージをインストールするには、`!pip install ライブラリ名` のように書いてから、前項のように `import ライブラリ名` と書くことで任意のライブラリを使用することができます。 +Google Colaboratory で pip を使ってパッケージをインストールするには、`!pip install ライブラリ名` のように書くだけです。その後は、前項のように `import ライブラリ名` と書くことで任意のライブラリを使用することができます。 例として、Python の代表的なデータ解析を支援するパッケージである `pandas` パッケージを使ってみましょう。 次のようにすると、確かに `pandas` パッケージを使うことができたことが確認できます。`import pandas as pd` というのは、`pandas` パッケージを `pd` という名前でインポートするという意味です。 +:::note + +ここで `pandas` パッケージを使った意味は特にありません。使い方を覚える必要も特にはありません。 + +::: + :::info diff --git a/docs/01python/08for/index.mdx b/docs/01python/08for/index.mdx index cc7ca4f5a..a048bf853 100644 --- a/docs/01python/08for/index.mdx +++ b/docs/01python/08for/index.mdx @@ -35,7 +35,7 @@ for 文を用いると、このように簡単に書くことができます。 -:::info +:::tip `sum += i` は、`sum = sum + i` と同じ意味です。累算代入演算子と呼ばれます。 次のように、様々なものがあります。 @@ -65,11 +65,13 @@ for 文は同じ処理をただ繰り返したいときにも用いることが -:::note -上記のプログラムは、次のようにしても実行できます。 +:::tip +上記のプログラムは、次と同じです。 +Python では、変数を使わないときは、アンダーバー(`_`)を使用します。 + 次のプログラムを見れば分かるように、 `range` 関数に引数を一つだけ渡すと、`i` には $[0, a)$ ($a$ を引数とする)となるような整数が順番に渡されます。 @@ -109,7 +111,7 @@ $n$ の階乗を求める関数を作って、実際に 10 の階乗を求めて -ちなみに、`math` ライブラリに階乗を計算するプログラムが入っているようです。[公式ドキュメントはこちら](https://docs.python.org/ja/3/library/math.html#math.factorial) +ちなみに、`math` ライブラリに階乗を計算するプログラムが入っているようです。公式ドキュメントは[こちら](https://docs.python.org/ja/3/library/math.html#math.factorial) これを使えば、次のようになります。 diff --git a/docs/01python/10multi-array/index.mdx b/docs/01python/10multi-array/index.mdx index f567fe04b..97c1af2af 100644 --- a/docs/01python/10multi-array/index.mdx +++ b/docs/01python/10multi-array/index.mdx @@ -80,10 +80,10 @@ A、B、C の 3 人の生徒がいて、それぞれの国語、数学、英語 | **C** | 24 | 92 | 34 | | **D** | 28 | 44 | 19 | -三次元配列を用いて、これの合計点を求めてみましょう。 +三次元配列を用いて、これの合計点を求めると次のようになります。 ## 多次元配列 -さらに発展させて、多次元配列を考えることもできます。 +さらに発展させて、四次元配列、五次元配列、…を考えることもできます。 diff --git a/docs/01python/11if/index.mdx b/docs/01python/11if/index.mdx index 271a9b9a5..a8789da8f 100644 --- a/docs/01python/11if/index.mdx +++ b/docs/01python/11if/index.mdx @@ -34,7 +34,7 @@ Python では、次のように比較演算子を用いて真偽を判定する | `>` | 大なり | | | `>=` | 以上 | | -実は、Python では数学のように複数の比較演算子を使った条件も書くことができます。他の多くのプログラミング言語はこのような表記はできません。 +他の多くのプログラミング言語はできませんが、実は、Python では数学のように複数の比較演算子を使った条件も書くことができます。 diff --git a/docs/01python/index.mdx b/docs/01python/index.mdx index f099a6abb..5707ecf7e 100644 --- a/docs/01python/index.mdx +++ b/docs/01python/index.mdx @@ -2,6 +2,6 @@ sidebar_position: 2 --- -# Python +# Python の基礎 -ここでは、 Python について説明します。 +ここでは、Python について説明します。この内容を理解すれば Python の基本的な使い方は十分理解できます。 diff --git a/docs/index.mdx b/docs/index.mdx index bf44bb611..e831f75e7 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -4,9 +4,7 @@ sidebar_position: 1 # Introduction to Algorithms -これは、2022 年度アルゴリズム入門のシケプリのようなものを目指して作成されました。 - -Python やアルゴリズムについて簡単にまとめていこうかなと思っています。 +これは、2022 年度アルゴリズム入門のシケプリです。 -上のようなボタンをクリックすると、コードを Google Colaboratory 上で実行できるようになっています。 +上のようなボタンをクリックすると、サンプルコードを Google Colaboratory 上で実行できます。 誤植や要望などがありましたら、どんな些細なことでも下記の Google Form などで気軽に連絡してください。 -特に誤植などは見つけたら、ぜひ教えてください。(その場ですぐに直せるようにしたので) +「てにをは」の間違いなどどんな些細なことでも是非ご報告ください。 -[誤植の訂正、感想等入力フォーム](https://forms.gle/QrtQh7TLPPF6dGci7) +[誤植、要望等報告フォーム](https://forms.gle/QrtQh7TLPPF6dGci7) ## 更新履歴 @@ -56,4 +54,4 @@ Python やアルゴリズムについて簡単にまとめていこうかなと 10/10 練習問題を追加 -10/10 第一周の分を執筆 環境構築、はじめての Python、式と演算子、変数 +10/10 第一周の分を執筆 環境構築、はじめての Python、演算子、変数 diff --git a/static/for/for_hello.ipynb b/static/for/for_hello.ipynb index d7a93dc41..14fcea6e6 100644 --- a/static/for/for_hello.ipynb +++ b/static/for/for_hello.ipynb @@ -6,7 +6,7 @@ { "metadata": {}, "source": [ - "for i in range(10):\n", + "for _ in range(10):\n", " print(\"Hello!\")" ], "cell_type": "code", diff --git a/static/function/introduce_language.ipynb b/static/function/introduce_language.ipynb index ba5aece59..ee3c24bfa 100644 --- a/static/function/introduce_language.ipynb +++ b/static/function/introduce_language.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "source": [ "def introduce_self(name, language):\n", - " print(f\"\u79c1\u306e\u540d\u524d\u306f\u3001{name}\u3067\u3059\u3002{language}\u9078\u629e\u3067\u3059\u3002\")\n", + " print(\"\u79c1\u306e\u540d\u524d\u306f\u3001\" + name + \"\u3067\u3059\u3002\" + language + \"\u9078\u629e\u3067\u3059\u3002\")\n", "\n", "\n", "introduce_self(\"\u6771\u5927\u592a\u90ce\", \"\u4e2d\u56fd\u8a9e\")" diff --git a/static/function/introduce_language2.ipynb b/static/function/introduce_language2.ipynb index ee3c24bfa..ba5aece59 100644 --- a/static/function/introduce_language2.ipynb +++ b/static/function/introduce_language2.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "source": [ "def introduce_self(name, language):\n", - " print(\"\u79c1\u306e\u540d\u524d\u306f\u3001\" + name + \"\u3067\u3059\u3002\" + language + \"\u9078\u629e\u3067\u3059\u3002\")\n", + " print(f\"\u79c1\u306e\u540d\u524d\u306f\u3001{name}\u3067\u3059\u3002{language}\u9078\u629e\u3067\u3059\u3002\")\n", "\n", "\n", "introduce_self(\"\u6771\u5927\u592a\u90ce\", \"\u4e2d\u56fd\u8a9e\")" diff --git a/static/function/introduce_self.ipynb b/static/function/introduce_self.ipynb index 5bc9dc15a..d5be41f8b 100644 --- a/static/function/introduce_self.ipynb +++ b/static/function/introduce_self.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "source": [ "def introduce_self(name):\n", - " print(f\"\u79c1\u306e\u540d\u524d\u306f\u3001{name}\u3067\u3059\u3002\")\n", + " print(\"\u79c1\u306e\u540d\u524d\u306f\u3001\" + name + \"\u3067\u3059\u3002\")\n", "\n", "\n", "introduce_self(\"\u7530\u4e2d\")" diff --git a/static/function/introduce_self2.ipynb b/static/function/introduce_self2.ipynb index d5be41f8b..5bc9dc15a 100644 --- a/static/function/introduce_self2.ipynb +++ b/static/function/introduce_self2.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "source": [ "def introduce_self(name):\n", - " print(\"\u79c1\u306e\u540d\u524d\u306f\u3001\" + name + \"\u3067\u3059\u3002\")\n", + " print(f\"\u79c1\u306e\u540d\u524d\u306f\u3001{name}\u3067\u3059\u3002\")\n", "\n", "\n", "introduce_self(\"\u7530\u4e2d\")" diff --git a/static/function/introduce_self3.ipynb b/static/function/introduce_self3.ipynb index d3af26086..5bdf6ac92 100644 --- a/static/function/introduce_self3.ipynb +++ b/static/function/introduce_self3.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "source": [ "def introduce_self(name):\n", - " return f\"\u79c1\u306e\u540d\u524d\u306f\u3001{name}\u3067\u3059\u3002\"\n", + " return \"\u79c1\u306e\u540d\u524d\u306f\u3001\" + name + \"\u3067\u3059\u3002\"\n", "\n", "\n", "print(introduce_self(\"\u5c0f\u6797\"))" diff --git a/static/function/introduce_self4.ipynb b/static/function/introduce_self4.ipynb index 5bdf6ac92..d3af26086 100644 --- a/static/function/introduce_self4.ipynb +++ b/static/function/introduce_self4.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "source": [ "def introduce_self(name):\n", - " return \"\u79c1\u306e\u540d\u524d\u306f\u3001\" + name + \"\u3067\u3059\u3002\"\n", + " return f\"\u79c1\u306e\u540d\u524d\u306f\u3001{name}\u3067\u3059\u3002\"\n", "\n", "\n", "print(introduce_self(\"\u5c0f\u6797\"))" diff --git a/static/get-started/comment3.ipynb b/static/get-started/comment3.ipynb deleted file mode 100644 index 4c0b52e36..000000000 --- a/static/get-started/comment3.ipynb +++ /dev/null @@ -1,27 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 2, - "metadata": {}, - "cells": [ - { - "metadata": {}, - "source": [ - "\"\"\"\n", - "\u8907\u6570\u884c\u306e\u30b3\u30e1\u30f3\u30c8\u3082\u66f8\u3051\u307e\u3059\u3002\n", - "\"\"\"\n", - "print(\"Hello World!\")" - ], - "cell_type": "code", - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Hello World!\n" - ] - } - ], - "execution_count": null - } - ] -} diff --git a/static/get-started/comment.ipynb b/static/hello-world/comment.ipynb similarity index 100% rename from static/get-started/comment.ipynb rename to static/hello-world/comment.ipynb diff --git a/static/get-started/comment2.ipynb b/static/hello-world/comment2.ipynb similarity index 100% rename from static/get-started/comment2.ipynb rename to static/hello-world/comment2.ipynb diff --git a/static/get-started/hello-from-python.ipynb b/static/hello-world/hello-from-python.ipynb similarity index 100% rename from static/get-started/hello-from-python.ipynb rename to static/hello-world/hello-from-python.ipynb diff --git a/static/get-started/hello-world.ipynb b/static/hello-world/hello-world.ipynb similarity index 100% rename from static/get-started/hello-world.ipynb rename to static/hello-world/hello-world.ipynb diff --git a/static/multi-array/average_of_sum.ipynb b/static/multi-array/average_of_sum.ipynb index eeef12e92..f4532b28e 100644 --- a/static/multi-array/average_of_sum.ipynb +++ b/static/multi-array/average_of_sum.ipynb @@ -6,23 +6,23 @@ { "metadata": {}, "source": [ - "def sum_val(scores):\n", + "def sum_1d(scores):\n", " s = 0\n", " for i in range(len(scores)):\n", " s += scores[i]\n", " return s\n", "\n", "\n", - "def sum_average(scores):\n", + "def sum_2d_average(scores):\n", " s = 0\n", " for i in range(len(scores)):\n", - " s += sum_val(scores[i])\n", + " s += sum_1d(scores[i])\n", " return s / len(scores)\n", "\n", "\n", "SCORES = [[83, 75, 32], [73, 53, 84], [63, 48, 64]]\n", "\n", - "print(sum_average(SCORES))" + "print(sum_2d_average(SCORES))" ], "cell_type": "code", "outputs": [ diff --git a/static/variables/fahrenheit.ipynb b/static/variable/fahrenheit.ipynb similarity index 100% rename from static/variables/fahrenheit.ipynb rename to static/variable/fahrenheit.ipynb diff --git a/static/variables/sound-velocity.ipynb b/static/variable/sound-velocity.ipynb similarity index 100% rename from static/variables/sound-velocity.ipynb rename to static/variable/sound-velocity.ipynb diff --git a/static/variables/sound-velocity2.ipynb b/static/variable/sound-velocity2.ipynb similarity index 100% rename from static/variables/sound-velocity2.ipynb rename to static/variable/sound-velocity2.ipynb diff --git a/static/variables/substitution.ipynb b/static/variable/substitution.ipynb similarity index 100% rename from static/variables/substitution.ipynb rename to static/variable/substitution.ipynb diff --git a/static/variables/substitution2.ipynb b/static/variable/substitution2.ipynb similarity index 100% rename from static/variables/substitution2.ipynb rename to static/variable/substitution2.ipynb