現在の見出し: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つの選択肢に対応するよう更新 |

















