小さなプログラムを作ってみよう
学習の目標
本章では、以下の内容を学習します。
- これまで学んだ基礎知識を組み合わせて実用的なプログラムを作成する
- 自己紹介プログラムで文字列操作とユーザー入力を活用する
- 年齢計算プログラムで数値計算と真偽値を応用する
- 簡単な計算機能で演算子とデータ変換を実践する
- 学習した内容の復習と理解の定着を図る
これまでの学習内容を振り返ろう
ここまで、Pythonプログラミングの基礎となる重要な要素を一つずつ学んできました。今回は、これらの知識を組み合わせて、実際に使える小さなプログラムを作ってみましょう。
これまでに習得した内容を確認すると、変数の使い方、数値と文字列の操作、真偽値による判定、そしてユーザーからの入力受け取り方法があります。これらを単独で使うだけでなく、組み合わせることで、より実用的で面白いプログラムを作ることができます。
プログラミングの醍醐味は、小さな部品を組み合わせて大きな機能を作り上げることです。今回作成するプログラムを通じて、その楽しさを体験してみましょう。
自己紹介プログラムの作成
基本的な自己紹介プログラム
まず、ユーザーから情報を受け取って、きれいに整理された自己紹介文を作成するプログラムを作ってみましょう。VS Codeで新しいファイル self_introduction.py
を作成してください。
print("=== 自己紹介プログラム ===")
print("あなたの情報を教えてください\n")
# ユーザーから基本情報を入力してもらう
name = input("お名前: ")
age = int(input("年齢: "))
hobby = input("趣味: ")
このプログラムの最初の部分では、プログラムのタイトルを表示し、ユーザーに基本的な情報の入力を求めています。\n
は改行を表す特別な文字で、空行を作って見やすくしています。年齢については、後で数値計算に使う可能性があるため、int関数で整数に変換しています。
続いて、受け取った情報を使って自己紹介文を作成しましょう。
print("=== 自己紹介プログラム ===")
print("あなたの情報を教えてください\n")
name = input("お名前: ")
age = int(input("年齢: "))
hobby = input("趣味: ")
# 自己紹介文を作成して表示
print("\n--- あなたの自己紹介 ---")
introduction = f"はじめまして!私の名前は{name}です。{age}歳で、趣味は{hobby}です。"
print(introduction)
# 追加情報を表示
name_length = len(name)
print(f"\nお名前は{name_length}文字ですね")
このプログラムを実行して「田中太郎」「25」「映画鑑賞」と入力すると、以下のような結果が表示されます。
=== 自己紹介プログラム ===
あなたの情報を教えてください
お名前: 田中太郎
年齢: 25
趣味: 映画鑑賞
--- あなたの自己紹介 ---
はじめまして!私の名前は田中太郎です。25歳で、趣味は映画鑑賞です。
お名前は4文字ですね
f文字列を使って自然な文章を作成し、len関数で名前の文字数も表示しています。
年齢計算プログラムの作成
詳細な年齢情報を計算
次に、生まれ年から現在の年齢を計算し、さらに詳しい年齢情報を表示するプログラムを作ってみましょう。新しいファイル age_calculator.py
を作成してください。
print("=== 年齢計算プログラム ===")
# 現在の年を設定(実際のプログラムでは自動取得できますが、今回は固定値を使用)
current_year = 2024
birth_year = int(input("生まれ年を入力してください(例:1995): "))
このプログラムでは、現在の年を固定値として設定しています。実際のプログラムでは自動的に現在の年を取得することもできますが、今回は学習のために固定値を使用します。ユーザーには生まれ年を4桁の数字で入力してもらいます。
続いて、年齢の計算と詳細な情報の表示を行いましょう。
print("=== 年齢計算プログラム ===")
current_year = 2024
birth_year = int(input("生まれ年を入力してください(例:1995): "))
# 年齢を計算
age = current_year - birth_year
print(f"\n--- 計算結果 ---")
print(f"生まれ年: {birth_year}年")
print(f"現在の年: {current_year}年")
print(f"年齢: {age}歳")
# 年齢に基づいた判定
is_adult = age >= 20
is_senior = age >= 65
print(f"\n--- 年齢区分 ---")
print(f"成人: {is_adult}")
print(f"高齢者: {is_senior}")
このプログラムを実行して「1990」と入力すると、以下のような結果が表示されます。
=== 年齢計算プログラム ===
生まれ年を入力してください(例:1995): 1990
--- 計算結果 ---
生まれ年: 1990年
現在の年: 2024年
年齢: 34歳
--- 年齢区分 ---
成人: True
高齢者: False
引き算による年齢計算と、比較演算子を使った真偽値での区分判定を組み合わせています。
簡単な計算機能の作成
四則演算をサポートする計算機
最後に、ユーザーが選択した計算を実行する簡単な計算機を作ってみましょう。新しいファイル simple_calculator.py
を作成してください。
print("=== 簡単な計算機 ===")
print("2つの数字で計算を行います\n")
# 数値の入力
num1 = float(input("1つ目の数字: "))
num2 = float(input("2つ目の数字: "))
計算機では整数だけでなく小数も扱う可能性があるため、float関数を使って小数として入力を受け取ります。これにより、より柔軟な計算が可能になります。
続いて、各種計算を実行して結果を表示しましょう。
print("=== 簡単な計算機 ===")
print("2つの数字で計算を行います\n")
num1 = float(input("1つ目の数字: "))
num2 = float(input("2つ目の数字: "))
# 各種計算を実行
addition = num1 + num2
subtraction = num1 - num2
multiplication = num1 * num2
print(f"\n--- 計算結果 ---")
print(f"{num1} + {num2} = {addition}")
print(f"{num1} - {num2} = {subtraction}")
print(f"{num1} × {num2} = {multiplication}")
# 割り算は0で割ることを避ける
if num2 != 0:
division = num1 / num2
print(f"{num1} ÷ {num2} = {division}")
else:
print(f"{num1} ÷ {num2} = エラー(0で割ることはできません)")
このプログラムを実行して「12.5」と「4」を入力すると、以下のような結果が表示されます。
=== 簡単な計算機 ===
2つの数字で計算を行います
1つ目の数字: 12.5
2つ目の数字: 4
--- 計算結果 ---
12.5 + 4.0 = 16.5
12.5 - 4.0 = 8.5
12.5 × 4.0 = 50.0
12.5 ÷ 4.0 = 3.125
四則演算をすべて実行し、割り算では0で割るエラーを避けるための条件判定も含めています。
統合プログラムの作成
複数の機能を持つプログラム
これまで作成した3つの機能を1つのプログラムにまとめて、ユーザーが選択できるようにしてみましょう。新しいファイル integrated_program.py
を作成してください。
print("=== 多機能プログラム ===")
print("以下から選択してください")
print("1: 自己紹介")
print("2: 年齢計算")
print("3: 簡単な計算")
choice = input("\n番号を入力してください(1-3): ")
if choice == "1":
print("\n--- 自己紹介モード ---")
name = input("お名前: ")
age = int(input("年齢: "))
hobby = input("趣味: ")
print(f"\nはじめまして!{name}です。{age}歳で、趣味は{hobby}です。")
elif choice == "2":
print("\n--- 年齢計算モード ---")
current_year = 2024
birth_year = int(input("生まれ年: "))
age = current_year - birth_year
print(f"あなたは{age}歳です。")
print(f"成人: {age >= 20}")
elif choice == "3":
print("\n--- 計算モード ---")
num1 = float(input("1つ目の数字: "))
num2 = float(input("2つ目の数字: "))
print(f"{num1} + {num2} = {num1 + num2}")
print(f"{num1} - {num2} = {num1 - num2}")
このプログラムでは、ユーザーが番号を選択することで、異なる機能を実行できます。「2」を選択して「1995」と入力すると、以下のような結果が表示されます。
=== 多機能プログラム ===
以下から選択してください
1: 自己紹介
2: 年齢計算
3: 簡単な計算
番号を入力してください(1-3): 2
--- 年齢計算モード ---
生まれ年: 1995
あなたは29歳です。
成人: True
まとめ
本章では、これまで学習したPythonの基礎知識を総合的に活用して、実用的なプログラムを作成しました。習得できた内容は以下の通りです。
変数、データ型、演算子、関数、ユーザー入力などの基本要素を組み合わせて、自己紹介プログラム、年齢計算プログラム、簡単な計算機を作成しました。各プログラムでは、文字列操作、数値計算、真偽値判定、条件分岐を実践的に活用しました。
また、複数の機能を統合したプログラムの作成により、プログラムの構造化と段階的な処理の重要性を理解できました。エラー対策やユーザビリティへの配慮など、実用的なプログラム開発の基本的な考え方も身につけることができました。
これで、Pythonプログラミングの基礎となる重要な要素をすべて学習し、それらを組み合わせて実際に動作するプログラムを作成できるようになりました。今後はより高度な機能を学習して、さらに複雑で便利なプログラムを作成していきましょう。
Starterプランでより詳しく学習
この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。