見出し画像

【Python初心者向け】10問の練習問題で基礎力をUPしよう!🚀

Pythonを学び始めたけれど、なかなか実践できていない...そんな方へ!

今回は、Pythonの基礎を強化するための10問の練習問題を紹介します。🎯

問題を解くことで、実際にコードを書く力がつくだけでなく、プログラミングの考え方も身につきます!

ぜひ、手を動かしながら学んでいきましょう💡

📌 本記事の内容

  • Pythonの基礎力を上げる10問の問題を紹介

  • 各問題の解答例と解説つき

  • 初心者でも理解しやすいシンプルなコード

  • 実践的なスキルアップにつながる内容

  • すぐに使えるプログラミングのヒント

🏆 Python初心者向け練習問題 10選

1️⃣ 今年があと何日?

📌 問題

本日の日付を取得し、今年があと何日あるかを計算して出力してください。

✅ ヒント

  • datetime モジュールを使う

  • date.today() で今日の日付を取得

  • 来年の1月1日との差を計算

💡 解答例

from datetime import date

today = date.today()
next_year = date(today.year + 1, 1, 1)
days_remaining = (next_year - today).days
print(f"今年はあと {days_remaining} 日")

2️⃣ リストの売上合計を計算

📌 問題

前期と後期の売上データをリストで管理し、合計売上を計算して出力してください。

✅ ヒント

  • リストの結合は + を使う

  • sum() 関数を活用

💡 解答例

first_half_sales = [100, 200, 150, 300]
second_half_sales = [250, 400, 100, 350]
total_sales = sum(first_half_sales + second_half_sales)
print(f"通年の売上合計: {total_sales}")

3️⃣ 3科目の平均点を計算

📌 問題

辞書で管理された5科目の点数から、特定の3科目(国語、数学、英語)の平均点を求める関数を作成してください。

✅ ヒント

  • dict のキーを使ってデータを抽出

  • 平均を計算 (sum() / len())

💡 解答例

def calculate_average(scores):
    subjects = ['国語', '数学', '英語']
    selected_scores = [scores[subject] for subject in subjects]
    return sum(selected_scores) / len(selected_scores)

scores = {'国語': 80, '数学': 75, '英語': 85, '理科': 90, '社会': 70}
average = calculate_average(scores)
print(f"3科目の平均点: {average}")

4️⃣ フォルダ内のCSVファイル一覧を取得

📌 問題

指定フォルダ内の .csv ファイル名をすべて取得し、一覧表示してください。

✅ ヒント

  • pathlib モジュールを使用

  • glob("*.csv") で取得

💡 解答例

from pathlib import Path

data_folder = Path("data")
csv_files = list(data_folder.glob("*.csv"))
for file in csv_files:
    print(file.name)

5️⃣ 5つのテキストファイルの共通データを抽出

📌 問題

複数のテキストファイルに書かれている数値のうち、すべてのファイルに共通して存在するものを出力してください。

✅ ヒント

  • set(集合)を使い、積集合(&)を取る

💡 解答例

file_paths = ["file1.txt", "file2.txt", "file3.txt", "file4.txt", "file5.txt"]
common_numbers = None

for file in file_paths:
    with open(file, "r") as f:
        numbers = set(f.read().splitlines())
    common_numbers = numbers if common_numbers is None else common_numbers & numbers

print("共通の数値:", common_numbers)

6️⃣ ログファイルから特定のエラーメッセージを抽出

📌 問題

ログファイルから特定の時間(22時台)の「WARNING」と「ERROR」メッセージだけを抽出してください。

✅ ヒント

  • re(正規表現)を活用

  • match() を使ってパターンマッチング

💡 解答例

import re

with open("app.log", "r", encoding="utf-8") as log_file:
    for line in log_file:
        if re.match(r"\d{4}-\d{2}-\d{2} 22:\d{2}:\d{2} \[(WARNING|ERROR)\]", line):
            print(line.strip())

7️⃣ JSONデータからタイトルを取得

📌 問題

JSONファイルの中にある書籍情報から、タイトルのデータをすべて抽出してください。

✅ ヒント

  • json モジュールを使用

  • dict のキーを指定して取得

💡 解答例

import json

with open("books.json", "r", encoding="utf-8") as json_file:
    data = json.load(json_file)
    for book in data["books"]:
        print(book["title"])

8️⃣ 2つのCSVデータを統合

📌 問題

「名前.csv」と「職業.csv」のデータを「ユーザーID」で結合し、新しいCSVファイルとして保存してください。

✅ ヒント

  • pandas の merge() を活用

  • to_csv() で出力

💡 解答例

import pandas as pd

df_names = pd.read_csv("names.csv")
df_jobs = pd.read_csv("jobs.csv")
df_merged = df_names.merge(df_jobs, on="user_id")
df_merged.to_csv("merged_data.csv", index=False)

9️⃣ 平均気温データをグラフ化

📌 問題

CSVファイルに格納された月ごとの平均気温データを、折れ線グラフで可視化してください。

✅ ヒント

  • pandas と matplotlib を使用

  • plot() メソッドで描画

💡 解答例

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("temperature.csv")
df.plot(x="month", y="temperature", marker="o", linestyle="-")
plt.title("2021年の平均気温")
plt.xlabel("月")
plt.ylabel("気温 (°C)")
plt.grid(True)
plt.savefig("temperature_chart.png")
plt.show()

🔟 Webスクレイピングで書籍リストを取得

📌 問題

特定のWebサイトに掲載されている「おすすめ書籍」のタイトルをすべて取得し、出力してください。

✅ ヒント

  • requests でWebページを取得

  • BeautifulSoup で解析し、タイトルタグを取得

💡 解答例

import requests
from bs4 import BeautifulSoup

url = "https://example.com/books"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

for book in soup.find_all("h2", class_="book-title"):
    print(book.text.strip())

📚 参考ツール・資料

🔗 Python公式ドキュメント: https://docs.python.org/ja/3/
🔗 pandas公式ドキュメント: https://pandas.pydata.org/docs/
🔗 matplotlib公式ドキュメント: https://matplotlib.org/stable/contents.html 🔗 BeautifulSoup公式ドキュメント:https://www.crummy.com/software/BeautifulSoup/bs4/doc/


✍️ まとめ

今回の10問を解くことで、Pythonの基本的なスキルを身につけられます!✨

「プログラミングは実践が大事!」

ぜひ、手を動かしながら学習を進めてみてくださいね!📖💻

今後もPythonに関する学習記事を投稿していくので、フォロー&コメントお待ちしています😊

いいなと思ったら応援しよう!