はじめに
基礎編の確認テスト
10問の小さな課題です。ほとんど解ければ、そのまま中級編へ進めます。つまずいたところは、基礎編の該当レッスンに戻って復習しましょう。
このテストが終わったら
「基礎編のどこが身についていて、どこを復習すればよいか」を言える。
このテストの使い方
基礎編の範囲から、10問を出します。1問ごとに、下の実行欄にコードを書いて「実行」を押してください。出力が期待どおりなら、「できました」と表示されます。
- 点数は付きません。どこが身についていて、どこが曖昧かを知るためのものです
- 「ヒント」と「答えの例」は、折りたたまれています。まず、自分で考えてみましょう
- つまずいた問題には、戻って復習する基礎編のレッスンを書いてあります
- 8問以上できれば、中級編に進めます。詳しくは、いちばん下の「結果」を見てください
変数と計算
単価800円の商品を15個買いました。合計金額を表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
かけ算は * です。print(price * quantity) と書きます。
答えの例を見る
price = 800 quantity = 15 print(price * quantity)
つまずいたら:基礎編 Lesson 03「Pythonに計算してもらう」、Lesson 04「数字に名前をつける」
if で判断する
売上が目標以上なら「達成」、そうでなければ「未達」と表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
if sales >= target: の次の行に字下げして print("達成")、else: の次の行に字下げして print("未達") と書きます。
答えの例を見る
sales = 980000
target = 1000000
if sales >= target:
print("達成")
else:
print("未達")つまずいたら:基礎編 Lesson 05「Pythonに判断してもらう」
for で合計を出す
経費のリストを、for で1件ずつ足して、合計を表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
for cost in costs: の中で、total = total + cost とします。print は、for の外(字下げなし)に書きます。
答えの例を見る
costs = [1200, 3400, 560, 780] total = 0 for cost in costs: total = total + cost print(total)
つまずいたら:基礎編 Lesson 06「同じ作業を繰り返してもらう」
リストと for と if を組み合わせる
売上のリストのうち、30万円(300000)以上の件数を表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
for の中に if を入れ、条件に合うときだけ count = count + 1 とします。
答えの例を見る
sales = [320000, 150000, 410000, 180000, 380000]
count = 0
for s in sales:
if s >= 300000:
count = count + 1
print(count)つまずいたら:基礎編 Lesson 05(if)、Lesson 06(for)、Lesson 07「リストで、データを並べて持つ」
辞書のリストから探す
社員の一覧(辞書のリスト)から、部署が「営業」の人の名前を、1行ずつ表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
for e in employees: で1人ずつ取り出し、if e["department"] == "営業": のときに print(e["name"]) します。
答えの例を見る
employees = [
{"name": "田中", "department": "営業"},
{"name": "佐藤", "department": "経理"},
{"name": "鈴木", "department": "営業"},
{"name": "高橋", "department": "人事"},
]
for e in employees:
if e["department"] == "営業":
print(e["name"])つまずいたら:基礎編 Lesson 08「辞書で、1行分のデータを持つ」
関数を作る
売上が100万円(1000000)以上なら、売上の10%をボーナスとして返し、未満なら0を返す関数 bonus を完成させてください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
if sales >= 1000000: のとき return sales // 10 とします(// は、割り算の整数部分です)。それ以外は return 0 です。
答えの例を見る
def bonus(sales):
if sales >= 1000000:
return sales // 10
return 0
print(bonus(1250000), bonus(800000))つまずいたら:基礎編 Lesson 09「自分専用の処理を作る」、Lesson 10「関数に判断を任せる」
CSV を読んで集計する
sales.csv(列:月・部署・売上)を読み込み、営業部の売上の合計を表示してください。
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
CSVの値は文字です。足すときは int(row["売上"]) で数字にします。if row["部署"] == "営業": の中で足しましょう。
答えの例を見る
import csv
total = 0
with open("sales.csv", encoding="utf-8") as f:
for row in csv.DictReader(f):
if row["部署"] == "営業":
total = total + int(row["売上"])
print(total)つまずいたら:基礎編 Lesson 11「テキストファイルを読む・書く」、Lesson 12「CSVを読んで、集計して、書き出す」
pandas で絞り込む
sales.xlsx(シート:売上)を読み込み、金額が10万円(100000)以上の行数を表示してください。
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
df[df["金額"] >= 100000] で絞り込み、len(...) で行数を数えます。
答えの例を見る
import pandas as pd
df = pd.read_excel("sales.xlsx", sheet_name="売上")
print(len(df[df["金額"] >= 100000]))つまずいたら:基礎編 Lesson 14「Excelの表を、Pythonに読み込む」、Lesson 15「列を取り出す・並べ替える・絞り込む」
pandas で部署別に集計する
同じ sales.xlsx を、部署ごとに集計して、企画部の金額の合計を表示してください。
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
df.groupby("部署")["金額"].sum() で部署別の合計が出ます。その結果から ["企画"] で、企画部だけを取り出します。
答えの例を見る
import pandas as pd
df = pd.read_excel("sales.xlsx", sheet_name="売上")
print(df.groupby("部署")["金額"].sum()["企画"])つまずいたら:基礎編 Lesson 16「部署別に集計して、Excelに書き出す」
JSON を読む
employees.json を読み込み、skills が2つ以上ある人の名前を、1行ずつ表示してください。
この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
data["employees"] が社員のリストです。for で1人ずつ取り出し、len(e["skills"]) >= 2 のときに print(e["name"]) します。
答えの例を見る
import json
with open("employees.json", encoding="utf-8") as f:
data = json.load(f)
for e in data["employees"]:
if len(e["skills"]) >= 2:
print(e["name"])つまずいたら:基礎編 Lesson 23「JSONを読み書きする」
何問できましたか?
| できた問題 | 目安 |
|---|---|
| 9〜10問 | 準備は十分です。そのまま中級編 Lesson 01 に進みましょう |
| 6〜8問 | 中級編に進めます。つまずいた問題の基礎編レッスンを、1回読み返してから進むと安心です |
| 5問以下 | 基礎編の、つまずいたレッスンに戻りましょう。急ぐ必要はありません。もう一度解いてみて、できるようになってから進めば大丈夫です |
準備ができたら、中級編の最初のレッスン(繰り返しを1行にまとめる)へ進みましょう。