プログラミングの本質は「データをどう扱うか」にあります。
ショッピングカートの商品一覧、SNSの友達リスト、音楽プレイリストなど
私たちが日々使うアプリは、すべて「複数のデータを整理・管理する仕組み」で成り立っています。
Pythonでは、その中核となるのが「リスト(list)」です。
最も基本的でありながら、最も頻繁に使われるデータ構造のひとつ。
今日、学ぶ「リスト」操作をマスターすれば、データ管理の効率がぐんと上がり、プログラミングが一気に楽しくなります😊
(15~20分で読了 ⭐⭐)
🎯 今日の学習目標
- if文とは何かを理解する
- if-elseで二者択一を実装する
- if-elif-elseで複数条件を処理する
- 比較演算子で条件を作る
- 論理演算子で複雑な条件を作る
- ネストしたifとin演算子を活用する
📚 前提知識
- Day 4: 変数とprint() - 変数宣言と出力方法
- Day 5: 数値を扱う - 比較演算の基礎
- Day 7: リストの基礎 - リストのデータ構造
🎯 学習目標 1: if文とは何かを理解する
一言で説明
if文 = 条件に応じて異なる動作をする
「もし〜なら...をする」をコードで表現する方法です。
実生活の例え
天気が雨なら → 傘を持っていく
そうでなければ → そのまま出かける
年齢が20歳以上なら → "成人です"
そうでなければ → "未成年です"
基本if文
文法
if 条件:
実行するコード
💡 重要: コロン(
:)とインデント(4つのスペースまたはTab)が必須!
初めてのif文を作成
age = 20
if age >= 18:
print("成人です")
出力:
成人です
条件が偽の場合は?
age = 15
if age >= 18:
print("成人です")
print("プログラム終了")
出力:
プログラム終了
💡 条件が偽の場合、if内のコードは実行されません!
🎯 学習目標 2: if-elseで二者択一を実装する
「そうでなければ」を表現する
age = 15
if age >= 18:
print("成人です")
else:
print("未成年です")
出力:
未成年です
実習例
# 偶数/奇数の判別
number = 7
if number % 2 == 0:
print(f"{number}は偶数です")
else:
print(f"{number}は奇数です")
出力:
7は奇数です
🎯 学習目標 3: if-elif-elseで複数条件を処理する
複数の条件を処理する
score = 85
if score >= 90:
print("Aグレード")
elif score >= 80:
print("Bグレード")
elif score >= 70:
print("Cグレード")
else:
print("Dグレード")
出力:
Bグレード
💡 elif = else if (そうでなくもし〜なら)
季節判別の例
month = 7
if month >= 3 and month <= 5:
print("春です")
elif month >= 6 and month <= 8:
print("夏です")
elif month >= 9 and month <= 11:
print("秋です")
else:
print("冬です")
出力:
夏です
🎯 学習目標 4: 比較演算子で条件を作る
比較演算子の種類
a = 10
b = 20
print(a == b) # False (等しい)
print(a != b) # True (等しくない)
print(a > b) # False (大きい)
print(a < b) # True (小さい)
print(a >= b) # False (以上)
print(a <= b) # True (以下)
文字列の比較
name = "山田太郎"
if name == "山田太郎":
print("名前が一致します")
if name != "佐藤花子":
print("別の人です")
出力:
名前が一致します
別の人です
🎯 学習目標 5: 論理演算子で複雑な条件を作る
and (かつ)
両方が真でなければならない
age = 25
has_license = True
if age >= 18 and has_license:
print("運転できます")
出力:
運転できます
or (または)
一つでも真なら真
is_weekend = True
is_holiday = False
if is_weekend or is_holiday:
print("休日です")
出力:
休日です
not (否定)
真/偽を反転
is_raining = False
if not is_raining:
print("傘は必要ありません")
出力:
傘は必要ありません
🎯 学習目標 6: ネストしたifとin演算子を活用する
ネストしたif文
if内にifを入れる
age = 25
has_ticket = True
if age >= 18:
if has_ticket:
print("入場可能です")
else:
print("チケットが必要です")
else:
print("未成年者は入場不可")
出力:
入場可能です
より簡潔に (andを使用)
age = 25
has_ticket = True
if age >= 18 and has_ticket:
print("入場可能です")
elif age >= 18:
print("チケットが必要です")
else:
print("未成年者は入場不可")
in演算子 - 含まれているか確認
リストに含まれているか
fruits = ["りんご", "バナナ", "ぶどう"]
if "りんご" in fruits:
print("りんごがあります")
if "いちご" not in fruits:
print("いちごがありません")
出力:
りんごがあります
いちごがありません
文字列に含まれているか
text = "Pythonは楽しいです"
if "Python" in text:
print("Pythonという単語があります")
if "難しい" not in text:
print("'難しい'という単語がありません")
出力:
Pythonという単語があります
'難しい'という単語がありません
💻 実習例題
例題1: ログインシステム
username = "admin"
password = "1234"
input_user = "admin"
input_pass = "1234"
if input_user == username and input_pass == password:
print("ログイン成功!")
else:
print("IDまたはパスワードが間違っています")
出力:
ログイン成功!
例題2: BMI計算と判定
height = 1.75 # メートル
weight = 70 # キログラム
bmi = weight / (height ** 2)
if bmi < 18.5:
print("低体重")
elif bmi < 23:
print("正常")
elif bmi < 25:
print("過体重")
else:
print("肥満")
print(f"あなたのBMI: {bmi:.1f}")
出力:
正常
あなたのBMI: 22.9
例題3: 割引計算機
price = 50000
is_member = True
quantity = 3
# 会員割引10%
if is_member:
price = price * 0.9
# 3個以上購入時追加5%割引
if quantity >= 3:
price = price * 0.95
total = price * quantity
print(f"総支払い金額: {total:.0f}円")
出力:
総支払い金額: 128250円
💡 実践のコツと注意点
ポイント 1: インデント必須
# ❌ 間違った例 (インデントなし)
if age >= 18:
print("成人です") # IndentationError!
# ✅ 正しい例 (4つのスペースまたはTab)
if age >= 18:
print("成人です")
ポイント 2: コロン(:)必須
# ❌ 間違った例
if age >= 18
print("成人です") # SyntaxError!
# ✅ 正しい例
if age >= 18:
print("成人です")
ポイント 3: 代入(=) vs 比較(==)
# ❌ 間違った例 (代入)
if age = 18: # SyntaxError!
print("18歳です")
# ✅ 正しい例 (比較)
if age == 18:
print("18歳です")
ポイント 4: if vs elifの違い
症状:
score = 95
if score >= 60:
print("合格")
if score >= 90:
print("優秀")
出力:
合格
優秀
問題: 両方の条件が実行される
解決:
score = 95
if score >= 90:
print("優秀")
elif score >= 60:
print("合格")
出力:
優秀
ポイント 5: Boolean変数は簡潔に
複雑なコード:
if age >= 18 and has_ticket == True and is_open == True:
print("入場可能")
簡潔に:
# Boolean変数はそれ自体が条件
if age >= 18 and has_ticket and is_open:
print("入場可能")
ポイント 6: in演算子で簡潔に
# ❌ 複雑な方法
if fruit == "りんご" or fruit == "バナナ" or fruit == "ぶどう":
print("果物です")
# ✅ 簡潔な方法
if fruit in ["りんご", "バナナ", "ぶどう"]:
print("果物です")
🧪 練習問題
問題1: 絶対値を求める
数値の絶対値をif文で求めてください。
(絶対値 = 負の数なら正の数に、正の数ならそのまま)
💡 ヒント
数値が0より小さければ-1を掛けてください!
✅ 解答
number = -5
if number < 0:
absolute = number * -1
else:
absolute = number
print(f"{number}の絶対値: {absolute}")
# -5の絶対値: 5
問題2: 閏年判別
年度が閏年かどうか判別してください。
- 4で割り切れれば閏年
- ただし、100で割り切れれば平年
- ただし、400で割り切れれば閏年
💡 ヒント
複数の条件をandとorで繋げてください!
✅ 解答
year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year}年は閏年です")
else:
print(f"{year}年は平年です")
問題3: じゃんけんゲーム
コンピュータとユーザーの選択を比較して勝敗を判定してください。
✅ 解答
user = "グー"
computer = "パー"
if user == computer:
print("引き分け!")
elif user == "グー" and computer == "パー":
print("コンピュータ勝利!")
elif user == "チョキ" and computer == "グー":
print("コンピュータ勝利!")
elif user == "パー" and computer == "チョキ":
print("コンピュータ勝利!")
else:
print("ユーザー勝利!")
📝 今日学んだこと
- if文: 条件が真の時だけ実行
- if-else: 真/偽に応じて異なる実行
- if-elif-else: 複数の条件を処理
- 比較演算子: ==、!=、>、<、>=、<=
- 論理演算子: and、or、not
- in演算子: 含まれているか確認
🔗 関連資料
📚 前回の学習
Day 7: リストを扱う ⭐
前回はリストを作成して使用する方法を学びました!
📚 次回の学習
Day 9: ループ文for⭐⭐(準備中!)
次回は同じ作業を繰り返すfor文を学びます!
「遅いと思った時が一番早い時期です!」 🚀
Day 8/100 | Phase 1: Pythonを始める | #100DaysOfPython
