Python | input()

Python
スポンサーリンク

では、初心者向けの「名前録音アプリ風」サンプルを作ってみましょう。
ここでは「録音」=「ユーザーが名前を入力して、それを保存・再生(表示)する」ような形で作ります。
本当に音声を扱うわけではなく、「入力を記録して後で再生する」=簡易メモアプリ風の練習です。


名前録音アプリ風(基本版)

# 名前録音アプリ風プログラム

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)版に発展させる
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました