はじめに

基礎編の確認テスト

10問の小さな課題です。ほとんど解ければ、そのまま中級編へ進めます。つまずいたところは、基礎編の該当レッスンに戻って復習しましょう。

目安 15分 ・ インストール不要

このテストが終わったら

「基礎編のどこが身についていて、どこを復習すればよいか」を言える。

はじめに

このテストの使い方

基礎編の範囲から、10問を出します。1問ごとに、下の実行欄にコードを書いて「実行」を押してください。出力が期待どおりなら、「できました」と表示されます。

  • 点数は付きません。どこが身についていて、どこが曖昧かを知るためのものです
  • 「ヒント」と「答えの例」は、折りたたまれています。まず、自分で考えてみましょう
  • つまずいた問題には、戻って復習する基礎編のレッスンを書いてあります
  • 8問以上できれば、中級編に進めます。詳しくは、いちばん下の「結果」を見てください
第1問

変数と計算

単価800円の商品を15個買いました。合計金額を表示してください。

第1問:合計金額コードは書き換えられます
Ctrl / ⌘ + Enter でも実行
結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

かけ算は * です。print(price * quantity) と書きます。

答えの例を見る
price = 800
quantity = 15
print(price * quantity)

つまずいたら:基礎編 Lesson 03「Pythonに計算してもらう」、Lesson 04「数字に名前をつける」

第2問

if で判断する

売上が目標以上なら「達成」、そうでなければ「未達」と表示してください。

第2問:達成か、未達かコードは書き換えられます
Ctrl / ⌘ + Enter でも実行
結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

if sales >= target: の次の行に字下げして print("達成")、else: の次の行に字下げして print("未達") と書きます。

答えの例を見る
sales = 980000
target = 1000000
if sales >= target:
  print("達成")
else:
  print("未達")

つまずいたら:基礎編 Lesson 05「Pythonに判断してもらう」

第3問

for で合計を出す

経費のリストを、for で1件ずつ足して、合計を表示してください。

第3問:for で合計コードは書き換えられます
Ctrl / ⌘ + Enter でも実行
結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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「同じ作業を繰り返してもらう」

第4問

リストと for と if を組み合わせる

売上のリストのうち、30万円(300000)以上の件数を表示してください。

第4問:30万円以上の件数コードは書き換えられます
Ctrl / ⌘ + Enter でも実行
結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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「リストで、データを並べて持つ」

第5問

辞書のリストから探す

社員の一覧(辞書のリスト)から、部署が「営業」の人の名前を、1行ずつ表示してください。

第5問:営業部の名前コードは書き換えられます
Ctrl / ⌘ + Enter でも実行
結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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行分のデータを持つ」

第6問

関数を作る

売上が100万円(1000000)以上なら、売上の10%をボーナスとして返し、未満なら0を返す関数 bonus を完成させてください。

第6問:bonus 関数コードは書き換えられます
Ctrl / ⌘ + Enter でも実行
結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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「関数に判断を任せる」

第7問

CSV を読んで集計する

sales.csv(列:月・部署・売上)を読み込み、営業部の売上の合計を表示してください。

第7問:営業部の合計サンプルファイル付き・書き換えOK
Ctrl / ⌘ + Enter でも実行

この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。

結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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を読んで、集計して、書き出す」

第8問

pandas で絞り込む

sales.xlsx(シート:売上)を読み込み、金額が10万円(100000)以上の行数を表示してください。

第8問:10万円以上の行数pandas・サンプルファイル付き
Ctrl / ⌘ + Enter でも実行

この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。

結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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「列を取り出す・並べ替える・絞り込む」

第9問

pandas で部署別に集計する

同じ sales.xlsx を、部署ごとに集計して、企画部の金額の合計を表示してください。

第9問:企画部の合計pandas・サンプルファイル付き
Ctrl / ⌘ + Enter でも実行

この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。

結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

df.groupby("部署")["金額"].sum() で部署別の合計が出ます。その結果から ["企画"] で、企画部だけを取り出します。

答えの例を見る
import pandas as pd

df = pd.read_excel("sales.xlsx", sheet_name="売上")
print(df.groupby("部署")["金額"].sum()["企画"])

つまずいたら:基礎編 Lesson 16「部署別に集計して、Excelに書き出す」

第10問

JSON を読む

employees.json を読み込み、skills が2つ以上ある人の名前を、1行ずつ表示してください。

第10問:スキルが2つ以上の人サンプルファイル付き・書き換えOK
Ctrl / ⌘ + Enter でも実行

この欄では、サンプルファイルが使えます。実行のたびに、ファイルは最初の状態に戻ります。

結果
▶ 実行を押すと、ここに結果が出ます
ヒントを見る

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行にまとめる)へ進みましょう。