[Project #1] inventory management_bot - 4 week

jang·2026년 4월 6일

[Project #1]

목록 보기
4/6
post-thumbnail

1. 오늘의 목표

  • 예외 처리(Exception Handling): 사용자의 잘못된 입력(문자 입력 등)에도 봇이 죽지 않게 방어 코드 작성.
  • 데이터 삭제 기능: 더 이상 필요 없는 품목을 장부에서 지우는 /del 명령어 구현.

2. 주요 학습 내용

  • Try-Except 문int() 변환 시 숫자가 아닌 값이 들어오면 발생하는 ValueError를 포착하여 프로그램의 비정상 종료 방지.
  • Early Exit (return): 에러 발생 지점에서 return을 사용하여 로직을 즉시 종료하고 데이터 오염 방지.
  • 데이터 필터링 삭제df = df[df['item'] != item_name] 공식을 사용하여 특정 항목만 제외한 새로운 데이터프레임 구성.

3. 트러블슈팅 (Troubleshooting)

상황원인해결 방법
정상 입력인데 반응 없음df 로직이 except 블록 안으로 잘못 들여쓰기 됨들여쓰기(Indentation)를 한 칸 밖으로 빼서 논리 구조 수정
대소문자 불일치.capitalize() 사용 시 JavaChip이 Javachip으로 변환됨장부 데이터의 이름을 첫 글자만 대문자로 통일

4. 실행 결과 (Result Photos)


1. Today's Goals

  • Service Stabilization: Implement "defensive coding" to prevent crashes from invalid user inputs.
  • Deletion Feature: Add a /del command to remove items from the inventory.

2. Key Concepts Learned

  • Exception Handling: Used Try-Except blocks to catch ValueError during string-to-integer conversion.
  • Logic Flow (Early Exit): Applied return within the exception block to stop the function immediately if an error occurs.
  • Pandas Deletion: Mastered row deletion by reassigning the DataFrame with filtered data.

3. Troubleshooting

IssueCauseSolution
No response on valid inputMain logic was misplaced inside the exceptblock scopeAdjusted indentation to align the main logic with the try-except block
Case Sensitivity Issue.capitalize() caused mid-word capital letters to be lowercasedRecognized the need for data normalization (e.g., JavaChip to Javachip)

4. Execution Results


1. 今日の目標

  • サービスの安定化: ユーザーの誤入力によるエラーを防ぐための「例外処理」の実装。
  • 削除機能の実装: 不要な項目をリストから削除する /del コマンドの追加。

2. 主な学習内容

  • 例外処理 (Try-Except): 文字列を数値に変換する際の ValueError をキャッチし、プログラムの停止を回避。
  • 早期リターン (return): エラー発生時に return を実行し、不正なデータが保存されるのを論理的に防止。
  • データの削除: 条件指定によるフィルタリングを用いて、特定の行を除外したデータフレームを再構成。

3. トラブルシューティング (Troubleshooting)

状況原因解決方法
正常入力でも無反応メインロジックが except ブロック内のインデントに含まれていたインデントを修正し、論理構造を正しく配置
大文字・小文字の不一致.capitalize() により単語内の大文字が小文字に変換されたデータの正規化(JavaChip → Javachipなど)の必要性を確認

4。 実行結果 (Result Photos)

profile
비전공자가 AI 엔지니어가 되는 과정

0개의 댓글