Menu
CoddyTech

まとめ:ショッピングカートのエラー

CoddyのPythonジャーニー「ロジックとフロー」セクションの一部。レッスン 66/78。

challenge icon

チャレンジ

中級

エラー処理を使用してショッピングカートをシミュレートするプログラムを作成してください。タスクは次のとおりです:

  1. 顧客の注文を処理する、handle_shopping_cartという名前の関数を作成する
  2. この関数は、"item:quantity"形式の注文文字列のリストを受け取る
  3. 各注文を次のように処理する:
    • 入力文字列を分割して商品と数量を取得する
    • 数量を整数に変換する
    • 数量を値として、商品をショッピングカートの辞書に追加する
    • 商品がすでにカートに存在する場合は、新しい数量を既存の数量に加算する
  4. 次の特定のエラーを処理する:
    • 入力形式が正しくない場合(コロンがない場合)は、"Invalid format: {order}"を出力する
    • 数量が有効な数値でない場合は、"Invalid quantity: {order}"を出力する
    • 数量が負の場合は、"Negative quantity not allowed: {order}"を出力する
  5. 完成したショッピングカートの辞書を返す

形式と負の数量をifで確認してください。数量を整数に変換する場合のみエラーが発生する可能性があるため、except ValueErrorで"Invalid quantity: {order}"を出力します。最後のexcept Exception as eブロックは安全策として残し、そこで"Unexpected error: {e}"を出力してください。

自分で試してみよう

def handle_shopping_cart(orders):
    # ショッピングカート用の空の辞書を作成する
    cart = {}

    # リスト内の各注文を処理する
    for order in orders:
        try:
            # 注文を分割し、形式と数量を確認してからカートに追加する
            pass

        except ValueError:
            # 数量が数値ではなかった
            pass

        except Exception as e:
            # 予期しないものすべて
            pass

    # 完成したカートを返す
    return cart

ロジックとフローのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ