では、初心者向けの「名前録音アプリ風」サンプルを作ってみましょう。
ここでは「録音」=「ユーザーが名前を入力して、それを保存・再生(表示)する」ような形で作ります。
本当に音声を扱うわけではなく、「入力を記録して後で再生する」=簡易メモアプリ風の練習です。
名前録音アプリ風(基本版)
# 名前録音アプリ風プログラム
print("=== 名前録音アプリ ===")
# 空のリストを用意(入力された名前を記録しておく)
names = []
while True:
print("\nメニューを選んでください:")
print("1) 名前を録音する(入力する)")
print("2) 録音した名前を再生する(表示)")
print("3) 終了する")
choice = input("番号を入力 → ").strip()
if choice == "1":
name = input("あなたの名前を入力してください: ").strip()
if name:
names.append(name)
print(f"✅ '{name}' を録音しました。")
else:
print("⚠ 名前が空です。もう一度入力してください。")
elif choice == "2":
print("\n--- 録音された名前一覧 ---")
if names:
for i, n in enumerate(names, start=1):
print(f"{i}. {n}")
else:
print("(まだ名前が録音されていません)")
elif choice == "3":
print("🎧 アプリを終了します。ありがとうございました!")
break
else:
print("⚠ 1〜3の数字を入力してください。")
Python実行例
=== 名前録音アプリ ===
メニューを選んでください:
1) 名前を録音する(入力する)
2) 録音した名前を再生する(表示)
3) 終了する
番号を入力 → 1
あなたの名前を入力してください: 太郎
✅ '太郎' を録音しました。
メニューを選んでください:
1) 名前を録音する(入力する)
2) 録音した名前を再生する(表示)
3) 終了する
番号を入力 → 2
--- 録音された名前一覧 ---
1. 太郎
解説
| 要素 | 説明 |
|---|---|
names = [] | 入力した名前を保存するリスト |
while True: | メニューを繰り返し表示(ユーザーが「3」を選ぶまで続く) |
input() | ユーザー入力を取得 |
.strip() | 入力の前後の空白を削除 |
enumerate() | 録音された名前を番号付きで表示 |
break | ループを抜けて終了 |
応用版:ファイルにも保存するバージョン
以下のように書くと、終了時に名前を names.txt に保存できます。
# 名前録音アプリ(ファイル保存付き)
names = []
print("=== 名前録音アプリ ===")
while True:
print("\nメニュー: 1)録音 2)再生 3)終了")
choice = input("番号を入力 → ").strip()
if choice == "1":
name = input("あなたの名前を入力してください: ").strip()
if name:
names.append(name)
print(f"✅ '{name}' を録音しました。")
else:
print("⚠ 名前が空です。")
elif choice == "2":
print("\n--- 録音された名前一覧 ---")
if names:
for i, n in enumerate(names, 1):
print(f"{i}. {n}")
else:
print("(まだ録音されていません)")
elif choice == "3":
print("🎧 アプリを終了します。")
# ファイルに保存
with open("names.txt", "w", encoding="utf-8") as f:
for n in names:
f.write(n + "\n")
print("💾 names.txt に保存しました。")
break
else:
print("⚠ 1〜3の数字を入力してください。")
Pythonこれで、プログラムを終了しても名前がファイルに残ります。
発展アイデア
- 起動時に
names.txtを読み込んで前回の記録を再生できるようにする datetimeモジュールで録音時間(入力時間)も記録するtabulateライブラリなどを使って表形式で表示する- GUI(TkinterやPyQt)版に発展させる
