ログアウト中 ログイン

学習パッケージを選択

【Python】文字列変換ツール開発講座 第3章3.2節「高度な変換処理機能」




現在の見出し:3.2節:高度な変換処理機能

見出し一覧

  • 3.2節:高度な変換処理機能
  • - 複数変換条件による高度処理機能の実装
  • - ネスト条件分岐による複合変換機能の追加

【PR】『Python』を学べる企業・個人向けのプログラミングコース

複数変換条件による高度処理機能の実装

前節(第3章3.1節)で作成したコードを基盤として、複数の変換条件を組み合わせた高度処理機能を実装します。現在のプログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。は個別の変換処理のみを提供していますが、論理演算子論理演算子は真偽値(True/False)を扱う際に用いられる記号やキーワードです。を活用して「大文字変換かつ空白除去」などの組み合わせ処理を新しい選択肢として追加します。

この実装により、既存の基本変換メニューに加えて複合処理メニューを提供し、ユーザーは単一変換と複合変換を選択できる柔軟性の高いツールが完成します。

# コード
print("文字列変換ツールを開始します")
print("終了する場合は quit, exit, または q を入力してください")
print()

while True:
    text = input("変換したい文字列を入力してください: ")
    if text == "quit" or text == "exit" or text == "q":
        print("プログラムを終了します。お疲れ様でした!")
        break
    
    if text.strip() == "":
        print("空の文字列は処理できません。何か文字を入力してください。")
        continue
    
    print(f"入力された文字列: {text}")
    print(f"文字数: {len(text)}")
    print("変換方式を選択してください")
    print("1: 大文字変換")
    print("2: 小文字変換")
    print("3: 文字置換")
    print("4: 空白除去")
    print("5: 大文字変換 + 空白除去")
    print("6: 小文字変換 + 空白除去")
    choice_str = input("選択 (1, 2, 3, 4, 5, 6): ")
    
    if choice_str == "1" or choice_str == "2" or choice_str == "3" or choice_str == "4" or choice_str == "5" or choice_str == "6":
        choice = int(choice_str)
        if choice == 1:
            result = text.upper()
            print(f"大文字変換結果: {result}")
        elif choice == 2:
            result = text.lower()
            print(f"小文字変換結果: {result}")
        elif choice == 3:
            old_text = input("置換したい文字列を入力してください: ")
            new_text = input("置換後の文字列を入力してください: ")
            result = text.replace(old_text, new_text)
            print(f"置換前: {text}")
            print(f"置換後: {result}")
        elif choice == 4:
            result = text.strip()
            print(f"空白除去前: '{text}'")
            print(f"空白除去後: '{result}'")
        elif choice == 5:
            result = text.upper().strip()
            print(f"大文字変換 + 空白除去結果: '{result}'")
        elif choice == 6:
            result = text.lower().strip()
            print(f"小文字変換 + 空白除去結果: '{result}'")
    else:
        print("1、2、3、4、5、または6を入力してください")
    
    print("-" * 50)
    print()
# 実行結果
文字列変換ツールを開始します
終了する場合は quit, exit, または q を入力してください

変換したい文字列を入力してください:   Hello World   
入力された文字列:   Hello World   
文字数: 17
変換方式を選択してください
1: 大文字変換
2: 小文字変換
3: 文字置換
4: 空白除去
5: 大文字変換 + 空白除去
6: 小文字変換 + 空白除去
選択 (1, 2, 3, 4, 5, 6): 5
大文字変換 + 空白除去結果: 'HELLO WORLD'

--------------------------------------------------

変換したい文字列を入力してください: quit
プログラムを終了します。お疲れ様でした!
行数 種別 コード 解説
22行目 新規 print("5: 大文字変換 + 空白除去") upper()とstrip()を組み合わせた複合処理オプションを追加
23行目 新規 print("6: 小文字変換 + 空白除去") lower()とstrip()を組み合わせた複合処理オプションを追加
24行目 変更 choice_str = input("選択 (1, 2, 3, 4, 5, 6): ") 選択肢を6つに拡張し、複合処理選択を受け付け
26行目 変更 if choice_str == "1" or choice_str == "2" or choice_str == "3" or choice_str == "4" or choice_str == "5" or choice_str == "6": 論理演算子orで6つの選択肢すべてを有効な入力として判定
41行目 新規 elif choice == 5: 選択肢5(大文字変換+空白除去)の処理分岐を追加
42行目 新規 result = text.upper().strip() メソッドメソッドは特定の処理をまとめたプログラムの塊です。チェーンで大文字変換後に空白除去を連続実行
43行目 新規 print(f"大文字変換 + 空白除去結果: '{result}'") 複合処理の結果をシングルクォート付きで表示
44行目 新規 elif choice == 6: 選択肢6(小文字変換+空白除去)の処理分岐を追加
45行目 新規 result = text.lower().strip() メソッドチェーンで小文字変換後に空白除去を連続実行
46行目 新規 print(f"小文字変換 + 空白除去結果: '{result}'") 複合処理の結果をシングルクォート付きで表示
48行目 変更 print("1、2、3、4、5、または6を入力してください") エラーメッセージを6つの選択肢に対応するよう更新
ネスト条件分岐による複合変換機能の追加

第3章3.2節「ネスト条件分岐による複合変換機能の追加」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。