🧮 ステップ3: 計算と演算子をマスターしよう
Pythonで計算する方法を覚えよう!
ステップ2では、変数とデータ型を学びました。今回は、Pythonで「計算」をする方法を学びます。プログラミングでは、計算記号のことを「演算子」と呼びます。
📖 このステップで学ぶこと
・算術演算子(+、-、*、/など)
・整数除算(//)と余り(%)
・べき乗(**)
・代入演算子(+=、-=など)
・比較演算子(==、!=、>、<など)
・論理演算子(and、or、not)
・演算子の優先順位
・文字列の演算
・型変換(int()、float()、str())
➕ 1. 算術演算子(基本の計算)
プログラミングでは、数学と同じように四則演算(足し算、引き算、掛け算、割り算)ができます。
🔰 基本の四則演算
📌 算術演算子一覧
| 演算子 | 意味 | 例 | 結果 |
| + | 足し算 | 5 + 3 | 8 |
| – | 引き算 | 5 – 3 | 2 |
| * | 掛け算 | 5 * 3 | 15 |
| / | 割り算 | 10 / 3 | 3.333… |
📘 基本的な計算をしてみよう
コード:四則演算の基本
# 足し算
print(5 + 3)
# 引き算
print(10 - 4)
# 掛け算
print(6 * 7)
# 割り算
print(15 / 3)
※ 画面が小さい場合は、コードブロックを横にスクロールできます
実行結果
8 6 42 5.0
💡 コードの解説
5 + 3
・+(プラス)で足し算をします
・5と3を足して、8になります
10 – 4
・-(マイナス)で引き算をします
・10から4を引いて、6になります
6 * 7
・*(アスタリスク)で掛け算をします
・数学の×ではなく、*を使います
・6×7=42です
15 / 3
・/(スラッシュ)で割り算をします
・数学の÷ではなく、/を使います
・結果は5.0と、小数点がつきます(割り算の結果は常にfloat型)
⚠️ 掛け算と割り算の記号に注意
🔑 重要な注意点
プログラミングでは、数学とは違う記号を使います:
掛け算:
・❌ 数学:5 × 3
・✅ Python:5 * 3(アスタリスク)
割り算:
・❌ 数学:10 ÷ 2
・✅ Python:10 / 2(スラッシュ)
📝 変数を使った計算
変数に入っている値を使って計算することもできます。
コード:変数を使った計算
# 変数を作る
a = 10
b = 3
# 変数を使って計算
print(a + b)
print(a - b)
print(a * b)
print(a / b)
実行結果
13 7 30 3.3333333333333335
💡 なぜ変数を使うのか
変数を使うと、同じ値を何度も使えて便利です:
・a = 10と一度書けば、後はaと書くだけで10が使えます
・値を変更したい時は、a = 10の部分だけ書き換えればOKです
・例えば、a = 20に変えると、すべての計算結果が自動的に変わります
📝 計算結果を変数に保存する
計算した結果を、新しい変数に保存することができます。
コード:計算結果を保存
# 値を準備
price = 1000
tax_rate = 0.1
# 消費税額を計算して保存
tax = price * tax_rate
print(tax)
# 税込み価格を計算して保存
total = price + tax
print(total)
実行結果
100.0 1100.0
💡 コードの解説
tax = price * tax_rate
・priceとtax_rateを掛け算します
・1000 × 0.1 = 100.0
・計算結果の100.0を、taxという変数に保存します
total = price + tax
・priceとtaxを足し算します
・1000 + 100.0 = 1100.0
・計算結果の1100.0を、totalという変数に保存します
なぜこうするのか:
・計算結果を変数に保存すると、後で何度も使えます
・taxやtotalという名前をつけることで、何の値かわかりやすくなります
➗ 2. 整数除算と余り
Pythonには、割り算に関する便利な演算子が2つあります。
🔰 整数除算(//)
//(スラッシュ2つ)を使うと、割り算の商(小数点以下を切り捨てた整数)が得られます。
📌 /と//の違い
| 演算子 | 名前 | 結果 | 例 |
| / | 普通の割り算 | 小数を含む | 10 / 3 = 3.333… |
| // | 整数除算 | 整数のみ(切り捨て) | 10 // 3 = 3 |
コード:整数除算の例
# 普通の割り算
print(10 / 3)
# 整数除算
print(10 // 3)
# 別の例
print(17 / 5)
print(17 // 5)
実行結果
3.3333333333333335 3 3.4 3
💡 整数除算の使い道
いつ使うのか:
・「何人のグループに分けられるか」を知りたい時
・「何個のパックができるか」を計算したい時
例:
・23人の生徒を4人グループに分ける → 23 // 4 = 5グループ
・17個のりんごを5個ずつ袋に入れる → 17 // 5 = 3袋
🔰 余り(%)
%(パーセント)を使うと、割り算の余りが得られます。
コード:余りを求める
# 余りを求める
print(10 % 3) # 10を3で割った余り
print(17 % 5) # 17を5で割った余り
print(20 % 4) # 20を4で割った余り(割り切れる)
実行結果
1 2 0
💡 余りの計算方法
10 % 3 = 1
・10 ÷ 3 = 3 あまり 1
・3で割ると、3が3個取れて、1が余ります
17 % 5 = 2
・17 ÷ 5 = 3 あまり 2
・5で割ると、5が3個取れて、2が余ります
20 % 4 = 0
・20 ÷ 4 = 5 あまり 0
・割り切れる場合、余りは0です
💡 余りの使い道
偶数・奇数の判定:
・数を2で割った余りが0なら偶数、1なら奇数
・例:10 % 2 = 0(偶数)、7 % 2 = 1(奇数)
割り切れるかの確認:
・余りが0なら割り切れる
・例:15 % 3 = 0(割り切れる)、15 % 4 = 3(割り切れない)
繰り返しパターンの作成:
・時計の文字盤(13時 → 13 % 12 = 1時)
・曜日の計算(8日目 → 8 % 7 = 1日目に戻る)
📝 整数除算と余りを組み合わせる
コード:実用例
# 23人を4人グループに分ける
students = 23
group_size = 4
# 何グループできるか
groups = students // group_size
print("グループ数:", groups)
# 何人余るか
remaining = students % group_size
print("余る人数:", remaining)
実行結果
グループ数: 5 余る人数: 3
💡 コードの解説
groups = students // group_size
・23 // 4 = 5
・4人グループが5つできます
remaining = students % group_size
・23 % 4 = 3
・3人が余ります
確認: 5グループ × 4人 + 3人 = 23人(正しい!)
⭐ 3. べき乗(累乗)
**(アスタリスク2つ)を使うと、累乗(〇の△乗)が計算できます。
📌 べき乗とは
2 ** 3 は「2の3乗」を意味します
・2 × 2 × 2 = 8
・2を3回掛けます
5 ** 2 は「5の2乗」を意味します
・5 × 5 = 25
・5を2回掛けます
コード:べき乗の計算
# べき乗の計算
print(2 ** 3) # 2の3乗
print(5 ** 2) # 5の2乗
print(10 ** 4) # 10の4乗
print(3 ** 0) # 3の0乗(どんな数も0乗は1)
実行結果
8 25 10000 1
💡 べき乗の使い道
面積の計算:
・正方形の面積 = 1辺 ** 2
・例:1辺が5cmの正方形 → 5 ** 2 = 25平方cm
体積の計算:
・立方体の体積 = 1辺 ** 3
・例:1辺が3cmの立方体 → 3 ** 3 = 27立方cm
データ量の計算:
・2 ** 10 = 1024(1キロバイト)
・2 ** 20 = 1048576(1メガバイト)
📝 平方根(ルート)の計算
べき乗を使えば、平方根も計算できます。
コード:平方根
# 平方根は0.5乗
print(9 ** 0.5) # √9 = 3
print(16 ** 0.5) # √16 = 4
print(25 ** 0.5) # √25 = 5
実行結果
3.0 4.0 5.0
💡 なぜ0.5乗で平方根になるのか
数学的に、√x = x ** 0.5 です。
・√9 = 9 ** 0.5 = 3.0
・確認:3 × 3 = 9(正しい!)
🔄 4. 代入演算子
変数の値を「更新」する便利な書き方があります。
🔰 基本の代入演算子
まず、普通の方法で変数を更新してみます。
コード:普通の更新方法
# 変数を作る
score = 10
print(score)
# 5を足す(普通の書き方)
score = score + 5
print(score)
実行結果
10 15
💡 score = score + 5 の意味
この式は、右から左に読みます:
1. score + 5 → 現在のscoreの値(10)に5を足す
2. = → 計算結果(15)を
3. score → scoreに代入する(上書きする)
結果:scoreは10から15に更新されます
📘 複合代入演算子
「score = score + 5」は「score += 5」と短く書けます。
📌 複合代入演算子一覧
| 演算子 | 意味 | 例 | 同じ意味 |
| += | 足して代入 | x += 5 | x = x + 5 |
| -= | 引いて代入 | x -= 3 | x = x – 3 |
| *= | 掛けて代入 | x *= 2 | x = x * 2 |
| /= | 割って代入 | x /= 4 | x = x / 4 |
コード:複合代入演算子の使用例
# 初期値
x = 10
print("最初:", x)
# 5を足す
x += 5
print("5を足す:", x)
# 3を引く
x -= 3
print("3を引く:", x)
# 2倍にする
x *= 2
print("2倍にする:", x)
# 4で割る
x /= 4
print("4で割る:", x)
実行結果
最初: 10 5を足す: 15 3を引く: 12 2倍にする: 24 4で割る: 6.0
💡 なぜ複合代入演算子を使うのか
1. コードが短くなる
・❌ score = score + 5(14文字)
・✅ score += 5(10文字)
2. 読みやすくなる
・「scoreに5を加える」という意図が明確
3. タイプミスが減る
・変数名を2回書く必要がない
📝 実用例:カウンターの更新
コード:カウンターの例
# カウンターを0から始める
counter = 0
print("開始:", counter)
# 1ずつ増やす
counter += 1
print("1回目:", counter)
counter += 1
print("2回目:", counter)
counter += 1
print("3回目:", counter)
実行結果
開始: 0 1回目: 1 2回目: 2 3回目: 3
💡 カウンターの使い道
・何回処理を実行したか数える
・ゲームのスコアを加算する
・訪問者数をカウントする
・ループで何回繰り返したか管理する(後で学びます)
🔍 5. 比較演算子
2つの値を比較して、「正しい」か「間違っている」かを判定する演算子です。
🔰 比較演算子とは
📌 比較演算子一覧
| 演算子 | 意味 | 例 | 結果 |
| == | 等しい | 5 == 5 | True |
| != | 等しくない | 5 != 3 | True |
| > | より大きい | 5 > 3 | True |
| < | より小さい | 5 < 3 | False |
| >= | 以上 | 5 >= 5 | True |
| <= | 以下 | 5 <= 3 | False |
🔑 超重要!==と=の違い
=(イコール1つ)
・代入(値を入れる)
・例:x = 5(xに5を入れる)
==(イコール2つ)
・比較(等しいかチェック)
・例:x == 5(xは5と等しいか?)
これを混同すると、エラーの原因になります!
📘 比較演算子を使ってみよう
コード:基本的な比較
# 等しいか
print(5 == 5) # True
print(5 == 3) # False
# 等しくないか
print(5 != 3) # True
print(5 != 5) # False
# 大小の比較
print(5 > 3) # True(5は3より大きい)
print(5 < 3) # False(5は3より小さくない)
print(5 >= 5) # True(5は5以上)
print(5 <= 3) # False(5は3以下ではない)
実行結果
True False True False True False True False
💡 比較結果はbool型
比較演算子の結果は、TrueまたはFalseになります。
・True → 比較が正しい
・False → 比較が間違っている
この結果は、後で学ぶ「if文(条件分岐)」で使います。
📝 変数を使った比較
コード:実用的な例
# テストの点数
score = 85
passing_score = 60
# 合格点以上か?
is_pass = score >= passing_score
print("合格:", is_pass)
# 年齢
age = 15
adult_age = 18
# 大人か?
is_adult = age >= adult_age
print("大人:", is_adult)
実行結果
合格: True 大人: False
💡 コードの解説
is_pass = score >= passing_score
・scoreが85、passing_scoreが60
・85 >= 60 は True
・is_passにTrueが代入されます
is_adult = age >= adult_age
・ageが15、adult_ageが18
・15 >= 18 は False
・is_adultにFalseが代入されます
🔗 6. 論理演算子
複数の条件を組み合わせる演算子です。
🔰 論理演算子とは
📌 論理演算子一覧
| 演算子 | 意味 | 例 | 結果 |
| and | かつ(両方True) | True and True | True |
| or | または(どちらかTrue) | True or False | True |
| not | 否定(逆にする) | not True | False |
📘 and演算子(かつ)
andは、両方がTrueの時だけTrueになります。
コード:and演算子
# and演算子の例
print(True and True) # True
print(True and False) # False
print(False and True) # False
print(False and False) # False
# 実用例
age = 20
has_license = True
# 20歳以上かつ免許を持っているか
can_drive = (age >= 18) and has_license
print("運転できる:", can_drive)
実行結果
True False False False 運転できる: True
💡 andの意味
「〜かつ〜」「〜で、なおかつ〜」
・両方の条件が満たされている必要があります
・1つでもFalseがあると、結果はFalseです
例:
・年齢が18歳以上 かつ 免許を持っている
・→ どちらも満たさないと運転できません
📘 or演算子(または)
orは、どちらか1つでもTrueならTrueになります。
コード:or演算子
# or演算子の例
print(True or True) # True
print(True or False) # True
print(False or True) # True
print(False or False) # False
# 実用例
is_weekend = True
is_holiday = False
# 週末または祝日か
can_rest = is_weekend or is_holiday
print("休める:", can_rest)
実行結果
True True True False 休める: True
💡 orの意味
「〜または〜」「〜もしくは〜」
・どちらか1つでも満たされていればOK
・両方Falseの時だけ、結果がFalseです
例:
・週末 または 祝日
・→ どちらか1つでも当てはまれば休めます
📘 not演算子(否定)
notは、TrueとFalseを逆にします。
コード:not演算子
# not演算子の例
print(not True) # False
print(not False) # True
# 実用例
is_raining = False
# 雨が降っていないか
can_play_outside = not is_raining
print("外で遊べる:", can_play_outside)
実行結果
False True 外で遊べる: True
💡 notの意味
「〜ではない」「〜でない」
・条件を逆転させます
・True → False、False → True
例:
・雨が降っている → False
・雨が降っていない → not False = True
📝 複数の論理演算子を組み合わせる
コード:組み合わせ例
# 学生割引の条件
age = 16
is_student = True
# 18歳未満、かつ学生
gets_discount = (age < 18) and is_student
print("割引あり:", gets_discount)
# チケット購入の条件
has_money = True
has_time = False
# お金がある、または時間がある
can_buy_ticket = has_money or has_time
print("チケット購入可能:", can_buy_ticket)
実行結果
割引あり: True チケット購入可能: True
📐 7. 演算子の優先順位
複数の演算子がある場合、どの順番で計算されるかが決まっています。
📌 演算子の優先順位(高い順)
| 優先順位 | 演算子 | 例 |
| 1(最優先) | **(べき乗) | 2 ** 3 |
| 2 | *、/、//、% | 5 * 3 |
| 3 | +、- | 5 + 3 |
| 4 | ==、!=、>、<、>=、<= | 5 > 3 |
| 5 | not | not True |
| 6 | and | True and False |
| 7(最後) | or | True or False |
コード:優先順位の例
# 掛け算が先に計算される
result1 = 2 + 3 * 4
print(result1) # 14(3*4が先、その後+2)
# べき乗が最優先
result2 = 2 ** 3 * 4
print(result2) # 32(2**3=8が先、その後*4)
# カッコで優先順位を変える
result3 = (2 + 3) * 4
print(result3) # 20(カッコ内が先に計算される)
実行結果
14 32 20
💡 カッコを使おう
優先順位を覚えるより、カッコ()を使う方が確実です:
・読みやすくなる
・間違いが起きにくい
・意図が明確になる
例:
・❌ 2 + 3 * 4(優先順位を覚える必要がある)
・✅ 2 + (3 * 4)(明確で読みやすい)
✂️ 8. 文字列の演算
文字列も、+や*を使って操作できます。
📘 文字列の連結(+)
ステップ2で少し学びましたが、もう一度復習しましょう。
コード:文字列の連結
# 文字列を連結
first_name = "太郎"
last_name = "山田"
full_name = last_name + first_name
print(full_name)
# スペースを入れる
greeting = "こんにちは、" + full_name + "さん"
print(greeting)
実行結果
山田太郎 こんにちは、山田太郎さん
📘 文字列の繰り返し(*)
*を使うと、文字列を繰り返せます。
コード:文字列の繰り返し
# 文字列を繰り返す
print("=" * 20)
print("Hello" * 3)
print("-" * 10)
実行結果
==================== HelloHelloHello ----------
💡 使い道
・区切り線を作る
・パターンを繰り返す
・空白スペースを作る
⚠️ 文字列と数値は混ぜられない
🔑 重要な注意点
文字列と数値を直接+でつなぐことはできません。
コード:エラーになる例
age = 15
message = "私は" + age + "歳です" # エラー!
print(message)
❌ エラーメッセージ
TypeError: can only concatenate str (not "int") to str
この問題を解決するのが、次の「型変換」です。
🔄 9. 型変換(キャスト)
データ型を別の型に変換することを「型変換」または「キャスト」と呼びます。
🔰 型変換関数
📌 型変換関数一覧
| 関数 | 変換先 | 例 | 結果 |
| int() | 整数型 | int("123") | 123 |
| float() | 浮動小数点数型 | float("3.14") | 3.14 |
| str() | 文字列型 | str(123) | "123" |
📘 int()で整数に変換
コード:int()の使用例
# 文字列を整数に変換
age_str = "15"
age_int = int(age_str)
print(type(age_str)) # str型
print(type(age_int)) # int型
# 計算ができるようになる
next_year_age = age_int + 1
print(next_year_age)
実行結果
<class 'str'> <class 'int'> 16
💡 int()の使い道
・ユーザーの入力(文字列)を数値に変換
・ファイルから読み込んだ数字(文字列)を計算に使う
・小数を整数に変換(小数点以下切り捨て)
📘 float()で小数に変換
コード:float()の使用例
# 文字列を小数に変換
height_str = "165.5"
height_float = float(height_str)
print(type(height_str)) # str型
print(type(height_float)) # float型
# 整数を小数に変換
age = 15
age_float = float(age)
print(age_float) # 15.0
実行結果
<class 'str'> <class 'float'> 15.0
📘 str()で文字列に変換
これが、数値と文字列を混ぜる問題の解決策です。
コード:str()で問題解決
# 数値を文字列に変換
age = 15
age_str = str(age)
# 文字列として連結できる
message = "私は" + age_str + "歳です"
print(message)
# 直接変換することも可能
score = 85
result = "点数は" + str(score) + "点です"
print(result)
実行結果
私は15歳です 点数は85点です
💡 str()の使い道
・数値を含むメッセージを作る
・計算結果を文章に組み込む
・数値をファイルに保存する(文字列として)
📝 実用例:複数の型変換
コード:型変換の組み合わせ
# 文字列の数値を計算に使う
price_str = "1000"
tax_rate = 0.1
# 文字列を整数に変換
price = int(price_str)
# 税込み価格を計算
total = price + (price * tax_rate)
# 結果を文字列に変換して表示
message = "税込み価格は" + str(total) + "円です"
print(message)
実行結果
税込み価格は1100.0円です
💡 手順の整理
1. price_str(文字列"1000")をint()で整数1000に変換
2. 計算を実行(1000 + 1000 * 0.1 = 1100.0)
3. total(数値1100.0)をstr()で文字列"1100.0"に変換
4. 文字列として連結してメッセージを作成
⚠️ 型変換できない場合
🔑 変換できない例
数字以外の文字列をint()やfloat()で変換しようとするとエラーになります。
コード:エラー例
# エラーになる例
text = "こんにちは"
number = int(text) # エラー!数字ではない文字列は変換できない
❌ エラーメッセージ
ValueError: invalid literal for int() with base 10: 'こんにちは'
「数字として解釈できない」という意味です。
📝 練習問題
ここまで学んだことを、実際に手を動かして確認しましょう。
問題1:基本的な計算(初級)
📋 問題
以下の計算をして、結果を表示してください:
・123 + 456
・100 - 37
・12 * 8
・144 / 12
解答例を見る
コード
print(123 + 456)
print(100 - 37)
print(12 * 8)
print(144 / 12)
実行結果
579 63 96 12.0
問題2:整数除算と余り(初級)
📋 問題
27個のりんごを5個ずつ袋に入れます。
・何袋できますか?(//を使う)
・何個余りますか?(%を使う)
解答例を見る
コード
apples = 27
bag_size = 5
# 袋の数
bags = apples // bag_size
print("袋の数:", bags)
# 余りの数
remaining = apples % bag_size
print("余り:", remaining)
実行結果
袋の数: 5 余り: 2
問題3:べき乗の計算(初級)
📋 問題
1辺が7cmの正方形の面積を計算してください。
(面積 = 1辺 ** 2)
解答例を見る
コード
side = 7
area = side ** 2
print("面積:", area, "平方cm")
実行結果
面積: 49 平方cm
問題4:複合代入演算子(中級)
📋 問題
変数scoreを100で初期化し、以下の操作をしてください:
1. 20を足す(+=)
2. 10を引く(-=)
3. 2倍にする(*=)
各操作後のscoreを表示してください。
解答例を見る
コード
score = 100
print("最初:", score)
score += 20
print("20を足す:", score)
score -= 10
print("10を引く:", score)
score *= 2
print("2倍にする:", score)
実行結果
最初: 100 20を足す: 120 10を引く: 110 2倍にする: 220
問題5:比較演算子(中級)
📋 問題
変数ageを14で初期化し、以下を確認してください:
・18歳以上か?
・13歳より大きいか?
・14歳と等しいか?
それぞれTrueまたはFalseで結果を表示してください。
解答例を見る
コード
age = 14
print("18歳以上:", age >= 18)
print("13歳より大きい:", age > 13)
print("14歳と等しい:", age == 14)
実行結果
18歳以上: False 13歳より大きい: True 14歳と等しい: True
問題6:論理演算子(中級)
📋 問題
以下の変数を使って、映画を見られるか判定してください:
・age = 16
・has_ticket = True
条件:15歳以上、かつチケットを持っている
解答例を見る
コード
age = 16
has_ticket = True
can_watch = (age >= 15) and has_ticket
print("映画を見られる:", can_watch)
実行結果
映画を見られる: True
問題7:型変換(上級)
📋 問題
以下の文字列を数値に変換して計算し、結果を文章で表示してください:
・num1 = "50"
・num2 = "30"
「50と30を足すと〇〇です」と表示してください。
解答例を見る
コード
num1 = "50"
num2 = "30"
# 文字列を整数に変換
n1 = int(num1)
n2 = int(num2)
# 計算
result = n1 + n2
# 結果を文字列に変換して表示
message = num1 + "と" + num2 + "を足すと" + str(result) + "です"
print(message)
実行結果
50と30を足すと80です
問題8:総合問題(上級)
📋 問題
商品価格2500円に対して、以下を計算してください:
1. 10%割引した価格
2. さらに消費税10%を加えた最終価格
3. 結果を「最終価格は〇〇円です」と表示
解答例を見る
コード
# 元の価格
price = 2500
# 10%割引
discount_rate = 0.1
discounted_price = price * (1 - discount_rate)
print("割引後:", discounted_price)
# 消費税10%
tax_rate = 0.1
final_price = discounted_price * (1 + tax_rate)
print("最終価格:", final_price)
# 結果を文章で表示
message = "最終価格は" + str(final_price) + "円です"
print(message)
実行結果
割引後: 2250.0 最終価格: 2475.0 最終価格は2475.0円です
💡 ポイント
・10%割引 = 元の価格 × 0.9(= 1 - 0.1)
・消費税10%加算 = 価格 × 1.1(= 1 + 0.1)
🎯 このステップのまとめ
✅ 学んだこと
✓ 算術演算子:+、-、*、/
✓ 整数除算(//)と余り(%)
✓ べき乗(**)
✓ 複合代入演算子:+=、-=、*=、/=
✓ 比較演算子:==、!=、>、<、>=、<=
✓ 論理演算子:and、or、not
✓ 演算子の優先順位とカッコの使用
✓ 文字列の連結と繰り返し
✓ 型変換:int()、float()、str()
💡 次のステップに進む前に確認
以下のことができるようになったか確認しましょう:
□ 四則演算ができる
□ //と%の違いがわかる
□ 比較演算子でTrue/Falseを得られる
□ andとorを使って複数の条件を組み合わせられる
□ str()を使って数値を文字列に変換できる
□ int()を使って文字列を数値に変換できる
これらができたら、次のステップに進みましょう!
❓ よくある質問
Q1: /と//の違いは何ですか?
A: /は普通の割り算で小数を含む結果、//は小数を切り捨てた整数の結果です。
・10 / 3 = 3.333...(小数を含む)
・10 // 3 = 3(小数切り捨て)
Q2: %演算子は何に使うのですか?
A: 主に以下の用途で使います:
・偶数・奇数の判定(x % 2 == 0なら偶数)
・割り切れるかの確認(x % y == 0なら割り切れる)
・循環パターンの作成(時計、曜日など)
Q3: ==と=を間違えるとどうなりますか?
A: エラーになるか、予期しない動作をします。
・if x = 5: → エラー(比較には==を使う)
・x == 5 → xが5かチェック(代入ではない)
必ず、代入は=、比較は==と覚えましょう。
Q4: andとorの違いがわかりません
A: 簡単に言うと:
and: 両方の条件が満たされる必要がある
・例:年齢が18歳以上 かつ 免許を持っている
or: どちらか1つでも満たされればOK
・例:週末 または 祝日
Q5: 型変換しないとエラーになるのはなぜですか?
A: Pythonは、異なる型を混ぜることを許しません。
・"15"(文字列)と15(整数)は別物
・"15" + 5 → エラー(文字と数を足せない)
・int("15") + 5 → OK(両方とも整数)
Q6: カッコはいつ使うべきですか?
A: 迷ったら使いましょう。カッコを使いすぎても問題ありません。
・(2 + 3) * 4 → わかりやすい
・2 + 3 * 4 → 優先順位を覚える必要がある
Q7: 小数の計算で誤差が出るのはなぜですか?
A: コンピュータは小数を2進数で扱うため、わずかな誤差が出ます。
・0.1 + 0.2 = 0.30000000000000004(わずかな誤差)
・通常の計算では気にする必要はありません
・正確な計算が必要な場合は、後で学ぶDecimal型を使います
Q8: 複合代入演算子は必須ですか?
A: 必須ではありませんが、使うことを強くおすすめします。
・コードが短くなる
・読みやすくなる
・プログラマーの標準的な書き方
慣れると、x = x + 1より、x += 1の方が自然に感じます。
学習メモ
Pythonデータ分析入門 - Step 3