採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

変数とデータ型

テクノロジ系 / L02 variables — 変数と型

変数とデータ型 — ハンズオン

前提: Pythonがインストールされている(WSL推奨)

目標: 変数・リスト・ディクショナリを使ってデータ操作できる

Step 1: Pythonインタープリタを起動する

python3

プロンプトが >>> になれば起動成功。exit() で終了できる。

Step 2: 変数とf文字列を試す

インタープリタに以下を入力する:

name = "田中"
age = 30
print(f"名前: {name}, 年齢: {age}")

# 型確認
print(type(name))
print(type(age))

# 数値計算
price = 1000
tax_rate = 0.1
print(f"税込み: {price * (1 + tax_rate):.0f}円")

確認: 出力が期待通りか確認する。

Step 3: リストを試す

新しいファイル list_practice.py を作成して実行する:

# リストの基本操作
fruits = ["apple", "banana", "cherry"]

print("全要素:", fruits)
print("1番目:", fruits[0])
print("最後:", fruits[-1])
print("要素数:", len(fruits))

# 追加・削除
fruits.append("date")
print("append後:", fruits)

fruits.remove("banana")
print("remove後:", fruits)

# ループ
print("\n--- ループ ---")
for i, fruit in enumerate(fruits):
    print(f"{i+1}. {fruit}")

実行:

python3 list_practice.py

Step 4: ディクショナリを試す

dict_practice.py を作成:

# ユーザー情報
user = {
    "name": "田中",
    "age": 30,
    "department": "技術部"
}

print("名前:", user["name"])
print("メール(未登録):", user.get("email", "未登録"))

# 追加・更新
user["email"] = "tanaka@example.com"
user["age"] = 31

print("\n--- 全フィールド ---")
for key, value in user.items():
    print(f"  {key}: {value}")

実行:

python3 dict_practice.py

Step 5: エラーを意図的に起こして読む

# エラー練習
fruits = ["apple", "banana"]

# これを実行すると何が起きるか
try:
    print(fruits[5])
except IndexError as e:
    print(f"IndexError: {e}")

# ディクショナリの存在しないキー
user = {"name": "田中"}
try:
    print(user["email"])
except KeyError as e:
    print(f"KeyError: {e}")
    print(f"安全な方法: {user.get('email', '未登録')}")

完了チェック

  • [ ] f文字列で変数を文字列に埋め込んだ
  • [ ] リストのインデックス・append・remove・enumerate ループを実行した
  • [ ] ディクショナリの.get(key, デフォルト)を使った
  • [ ] IndexError・KeyErrorのエラーメッセージを読んで原因を説明できる

考えてみよう

既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。

Q1. 以下のコードの出力は何ですか?

name = "田中"
age = 30
print(f"名前: {name}, 年齢: {age + 1}")
名前: 田中, 年齢: 31

f文字列の中で計算式(age + 1)を書ける。

Q2. 以下のコードで "cherry" を取得するにはどう書けばよいですか?

fruits = ["apple", "banana", "cherry"]
print(fruits[?])
print(fruits[2])   # インデックス指定
print(fruits[-1])  # 後ろから1番目

Q3. 以下のコードで KeyError が発生するのはなぜですか? また安全に取得する方法は?

user = {"name": "田中", "age": 30}
print(user["email"])  # KeyError

原因: "email" というキーがディクショナリに存在しないから。

安全な取得方法:

print(user.get("email", "未登録"))

.get(key, デフォルト値) を使うと、キーが存在しない場合にデフォルト値を返す。

Q4. リストに要素を追加・削除するメソッドはそれぞれ何ですか?

  • 追加: list.append(要素) — リストの末尾に追加
  • 削除: list.remove(要素) — 最初に見つかった要素を削除
力試ししたい方は クイズ形式の演習(任意) もあります。読むだけでも十分です。