Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
a3b53b6
Update Colab article
chvmvd Feb 3, 2023
f44afdc
Update expressions article
chvmvd Feb 3, 2023
b804dc5
Update variable article
chvmvd Feb 3, 2023
919037c
Rename variable => variables
chvmvd Feb 3, 2023
1a62c0c
Add メタ構文変数 article
chvmvd Feb 3, 2023
150d92a
Rename files in hello-world/
chvmvd Feb 3, 2023
7141320
Rename files in expressions/
chvmvd Feb 3, 2023
65f7106
Rename files in variables
chvmvd Feb 3, 2023
a491b74
Update function article
chvmvd Feb 3, 2023
fb9c596
Add Hint component
chvmvd Feb 3, 2023
6857ffc
Add Hint for function problem
chvmvd Feb 3, 2023
8411d49
Update library article
chvmvd Feb 3, 2023
77508cc
Update pip article
chvmvd Feb 3, 2023
98f21f3
Update for article
chvmvd Feb 3, 2023
8c6086b
Move if article
chvmvd Feb 3, 2023
0d6a5eb
Update pip article
chvmvd Feb 3, 2023
d74c5f7
Rename hello-world => getting-started
chvmvd Feb 3, 2023
c6c4ea5
Update getting-started article
chvmvd Feb 3, 2023
fd135a0
Update expressions article
chvmvd Feb 3, 2023
2c37e32
Update variables article
chvmvd Feb 3, 2023
a779474
Update function article
chvmvd Feb 3, 2023
6b8819a
Update library article
chvmvd Feb 3, 2023
0f692e2
Update if article
chvmvd Feb 4, 2023
2e9d2ef
Update expressions article
chvmvd Feb 4, 2023
0a7c0cd
Update library article
chvmvd Feb 4, 2023
1e48091
Update if article
chvmvd Feb 4, 2023
c3595bd
Update for article
chvmvd Feb 4, 2023
c65b864
Update array article
chvmvd Feb 4, 2023
d9645c8
Update multi-array article
chvmvd Feb 4, 2023
52cf214
Update practice article
chvmvd Feb 4, 2023
a999967
Clear notebook outputs
chvmvd Feb 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions docs/01python/01google-colaboratory/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import helloWorldOnColab from "./hello-world-on-colab.mp4";

# 環境構築(Google Colaboratory)

昔はプログラミングの開発環境を整えることはとても大変な作業でしたが、今は Google の開発した Google Colaboratory を使うとブラウザ上で簡単に Python を実行することができます
まずは、プログラミングをするための環境構築をしましょう

次の動画のようにすることでプログラムを簡単に実行できるので、一度やってみてください。
環境構築と言っても、昔はプログラミングの開発環境を整えることはとても大変な作業でしたが、今は Google の開発した Google Colaboratory を使うとブラウザ上で簡単に Python を実行することができます。

次の動画のようにすることでプログラムを簡単に実行できるので、やってみてください。

<video src={helloWorldOnColab} controls width="100%" />

Expand All @@ -22,7 +24,7 @@ import helloWorldOnColab from "./hello-world-on-colab.mp4";

![新規ファイル](./new-file.jpg)

4. 新しいファイルが開いたら、コードを書くことができます。セルの中に `print("Hello World!")` のように書いて、Windows や Linux では `Ctrl + Enter`、Mac では `Command + Enter` で任意の Python のコードを実行させることができます。
4. 新しいファイルが開いたら、コードを書くことができます。セルの中に `print("Hello World!")` のように書いて(意味は分からなくて構いません。この後解説します。)、Windows や Linux では `Ctrl + Enter`、Mac では `Command + Enter` を押すことで任意の Python のコードを実行させることができます。

![実行後](./run-script.jpg)

Expand All @@ -32,4 +34,6 @@ import helloWorldOnColab from "./hello-world-on-colab.mp4";

これらは、キーボード・ショートカットと呼ばれ、使いこなすことで高速にパソコンを操作できるようになります。

例えば、コピーは `Ctrl / Command + C` で、ペーストは `Ctrl / Command + V` です。他にもたくさんあるので、少しずつ使いこなして、高速にパソコンを操作できるようになってみてください。

:::
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ import Answer from "@site/src/components/Answer";

# はじめての Python

はじめてのプログラムを書いてみましょう。

## Hello World

はじめてのプログラムを書いてみましょう。

プログラミングの世界では、まず画面上に `Hello World!` と表示させるのが慣例になっています。以下のコードが画面上に `Hello World!` と表示するプログラムです。以下のコードを Google Colaboratory 上で実行してみましょう。

<ViewSource path="/hello-world/hello-world.ipynb" />
<ViewSource path="/getting-started/hello_world.ipynb" />

`Hello World!` と表示されたら成功です。

Expand All @@ -27,14 +29,14 @@ import Answer from "@site/src/components/Answer";

`"` と `"` で括られた文字列を `Hello World!` から次のように `Hello from Python!` に変えれば、完成です。

<ViewSource path="/hello-world/hello-from-python.ipynb" />
<ViewSource path="/getting-started/hello_from_python.ipynb" />
</Answer>

## コメント

`#` から文末まではコメントとして扱われます。
プログラムを読みやすくするために説明を書くときや一時的にあるコードを実行しないようにするときなどによく使われます。

<ViewSource path="/hello-world/comment.ipynb" />
<ViewSource path="/getting-started/comment.ipynb" />

<ViewSource path="/hello-world/comment2.ipynb" />
<ViewSource path="/getting-started/comment2.ipynb" />
16 changes: 9 additions & 7 deletions docs/01python/03expressions/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,29 @@ import Answer from "@site/src/components/Answer";

# 算術演算子

ここでは、Python で様々な計算を行っていきます。

## 算術演算子

Python を使って計算をしてみましょう。次のように書くと、$1+1$ を Python に計算させて、その結果を表示することができます。
Python を使って演算をしてみましょう。次のように書くと、$1+1$ を Python に計算させて、その結果を表示することができます。

<ViewSource path="/expressions/sum.ipynb" />

:::tip
Python では、多くの場合半角スペースは無視されます。ただし、単語の途中などに入れてはいけません。そのため、読みやすくするために半角スペースを入れていますがなくても同じように動きます。
Python では、多くの場合半角スペースは無視されます。(ただし、単語の途中などに入れてはいけません。)そのため、読みやすくするために半角スペースを入れていますがなくても同じように動きます。

ただし、全角スペースが入っているとエラーが出てしまうのでプログラムを書くときには絶対に全角スペースを入れないように気をつけましょう。
:::

:::info
:::note
上のプログラムは、次のようにしても実行できます。それぞれには、少し違いがあるようですが気にしなくて大丈夫でしょう。

Google Colaboratory 以外で実行するときなど上のようなプログラムでうまく動かないときは、下のように書いてみてください。

<ViewSource path="/expressions/sum2.ipynb" />
:::

Python では足し算以外にも次のように様々な計算をすることができます
Python では足し算以外にも次のように様々な演算をすることができます

| 演算子 | 説明 | 例 |
| ------ | ------ | -------------------------------------------------- |
Expand All @@ -39,10 +41,10 @@ Python では足し算以外にも次のように様々な計算をすること
| `//` | 商 | <ViewSource path="/expressions/quotient.ipynb" /> |
| `%` | 剰余 | <ViewSource path="/expressions/remainder.ipynb" /> |

括弧`(`、`)` を用いることで、複雑な計算をすることもできます。
括弧 `(`、`)` を用いることで、複雑な計算をすることもできます。
黄金比を計算してみましょう。黄金比は、$\frac{1+\sqrt{5}}{2}$ で与えられます。

<ViewSource path="/expressions/golden-ratio.ipynb" />
<ViewSource path="/expressions/golden_ratio.ipynb" />

:::tip
平方根は 0.5 乗とすることで計算できます。
Expand All @@ -57,5 +59,5 @@ F=\frac{9}{5}C+32
$$

<Answer>
<ViewSource path="/expressions/fahrenheit.ipynb" />
<ViewSource path="/expressions/to_fahrenheit.ipynb" />
</Answer>
78 changes: 0 additions & 78 deletions docs/01python/04variable/index.mdx

This file was deleted.

104 changes: 104 additions & 0 deletions docs/01python/04variables/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
sidebar_position: 4
---

import ViewSource from "@site/src/components/ViewSource";
import Answer from "@site/src/components/Answer";

# 変数

ここでは、変数の使い方を学びます。

## 変数

10℃ での音速を求めてみましょう。$V$ を音速、$t$ を摂氏温度とすると、音速はおおよそ次のような式で求められます。

$$
V=331.5+0.6t
$$

<ViewSource path="/variables/sound_velocity.ipynb" />

一応できましたが、 $t$ を変えようとすると、(これぐらいならすぐできますが)いちいちプログラムを全て読み直して、温度を書き換えなければなりません。これが、複雑な計算式だったら、どの値を変えればいいのかわからなくなってしまいそうです。

ここで、変数が活躍します。変数は数値や文字列を入れられる箱のようなもので、任意の数値や文字列を格納することができます。例えば、次のように `hoge` と名前のついた箱に $2$ を入れておくことができます。

![変数の説明](variable.drawio.svg)

:::note メタ構文変数

メタ構文変数は、プログラムなどを説明する際、特に意味のない名前が必要になったときによく使われる言葉です。名前を書くときに、東大太郎や駒場花子といった名前を使うのと同じようなものです。

日本では、`hoge`、`fuga`、`piyo` などがよく使われます。`hogehoge` なども使われます。

英語では、`foo` や `bar` などがよく使われます。`foobar` なども使われます。

これらの単語を見たら、ここのところは任意の文字で書き換えられるんだなと思っておくと良いでしょう。

ちなみに、暗号の仕組みを説明するときなどには Alice と Bob がよく登場します(笑)

:::

そのため、変数を使うと、次のようにより変更しやすいようなプログラムを書くことができます。

<ViewSource path="/variables/sound_velocity_revised.ipynb" />

このようにすれば、例えば 10℃ ではなく 20℃ のときの音速を求めたくなったときに次のように `t = 20` とするだけでよくなり、より簡単にプログラムを変更することができます。

<ViewSource path="/variables/sound_velocity_revised_20degree.ipynb" />

:::tip
Python では、数学とは違い `=` は右の結果を左の変数に代入するという意味です。
そのため、次のようなプログラムを実行すると 2 が出力されます。

<ViewSource path="/variables/substitution.ipynb" />
:::

:::note 命名規則
Python では変数名にスペースを使えないため、語をつなげて変数名を作ることに成ります。これには、様々な命名規則があります。下に主なものの名称と例を示します。

| 名称 | 例 |
| -------------- | ------------ |
| キャメルケース | `camelCase` |
| パスカルケース | `PascalCase` |
| スネークケース | `snake_case` |
| ケバブケース | `kebab-case` |

Python では、スネークケースを使うことが多いようです。
(ただし、クラス(ここでは説明しません)の命名には、パスカルケースを使うようです。)
そのため、複数の語を一語につなげる場合は、`snake_case` のように `_`(アンダーバー)を使って語の区切りが分かるようにすると良いでしょう。
:::

:::note 定数(主に他の言語の学習者へ)
Python では定数は使えないようです。慣習的に定数は大文字のみの変数として表すようです。例: `SAMPLE_CONST`
:::

### 練習問題 1

[算術演算子の項](/docs/01python/03expressions/#問題)で解いた問題を変数を使って解いてみましょう。20℃ での華氏温度を求めてみましょう。次のような式で表せます。

$$
F=\frac{9}{5}C+32
$$

<Answer>
<ViewSource path="/variables/to_fahrenheit.ipynb" />
</Answer>

### 練習問題 2

次のプログラムを実行すると、どのような数字が出力されるか考えてみてください。

```python
x = 2
y = 3
y = x + y
y
```

<Answer>

3 行目では、`x + y` の値が評価されてその結果が `y` に代入されます。そのため、$2+3=5$ が `y` に代入され `5` が出力されます。

<ViewSource path="/variables/substitution_practice.ipynb"/>
</Answer>
36 changes: 36 additions & 0 deletions docs/01python/04variables/variable.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading