💡 f-string 꿀팁: 문자열 앞에 f를 붙이고 중괄호 {} 안에 변수를 넣으면 자동으로 값이 들어가요! 파이썬 3.6 이상에서 사용 가능해요.
자주 사용하는 문자열 메서드
message = ” Hello World “# 소문자로 변환print(message.lower()) # ” hello world “# 대문자로 변환print(message.upper()) # ” HELLO WORLD “# 양쪽 공백 제거 (챗봇 입력 처리 시 중요!)print(message.strip()) # “Hello World”# 문자 찾기print(“안녕”in“안녕하세요”) # True
2. int (정수) – 숫자 계산의 기본
정수(Integer)는 소수점이 없는 숫자예요. 나이, 개수, 점수 등을 저장할 때 사용해요.
출력:
상품 가격: 15,900원
수량: 3개
할인액: 9,540원
최종 금액: 38,160원
4. bool (불린) – 참/거짓 판단
불린(Boolean)은 오직 두 가지 값만 가져요: True(참) 또는 False(거짓). 조건을 확인할 때 필수예요!
# 불린 변수
is_logged_in = True
has_permission = False# 비교 연산 결과는 불린
age = 25
is_adult = age >= 19# True
is_teenager = age < 20# Falseprint(is_adult) # Trueprint(is_teenager) # False
🤖 로그인 확인 챗봇
회원 서비스 챗봇:
is_member = True
has_coupon = Trueif is_member and has_coupon:
print(“🎉 회원 쿠폰 할인 적용됩니다!”)
elif is_member:
print(“회원 할인이 적용됩니다.”)
else:
print(“회원 가입 시 더 많은 혜택을 받으실 수 있어요!”)
출력: 🎉 회원 쿠폰 할인 적용됩니다!
⚠️ 주의:True와 False는 첫 글자가 대문자예요! true, false는 에러 나요.
5. list (리스트) – 여러 값을 한 번에
리스트(List)는 여러 개의 값을 순서대로 담는 자료형이에요. 대괄호 []를 사용해요.
# 리스트 만들기
menu = [“아메리카노”, “라떼”, “카푸치노”]
numbers = [1, 2, 3, 4, 5]
mixed = [“철수”, 25, True] # 섞어도 돼요!# 요소 접근 (0부터 시작!)print(menu[0]) # “아메리카노” (첫 번째)print(menu[1]) # “라떼” (두 번째)print(menu[-1]) # “카푸치노” (마지막)# 요소 추가
menu.append(“에스프레소”)
print(menu) # [“아메리카노”, “라떼”, “카푸치노”, “에스프레소”]
🤖 메뉴 선택 챗봇
카페 주문 챗봇:
menu = [“아메리카노”, “라떼”, “카푸치노”, “바닐라라떼”]
print(“☕ 카페 주문 메뉴”)
for i, item in enumerate(menu, 1):
print(f”{i}. {item}”)
# 사용자가 2번 선택했다고 가정
choice = 2
selected = menu[choice – 1] # 인덱스는 0부터 시작하니까 -1print(f”\n'{selected}’ 주문 완료되었습니다!”)
# input()은 항상 문자열을 반환해요!
age_input = “25”# 실제로는 input(“나이를 입력하세요: “)# 문자열을 정수로 변환
age = int(age_input)
if age >= 19:
print(“성인 인증 완료!”)
else:
print(f”{19 – age}년 후에 다시 방문해주세요.”)
⚠️ 변환 시 주의사항: • int("안녕") → 에러! 숫자로 변환 불가
• int("3.14") → 에러! 실수 형태는 float()으로 먼저 변환
• int(float("3.14")) → 3 (정상 작동)
실전 종합 예제: 간단한 챗봇 만들기
지금까지 배운 걸 모두 합쳐서 실제 작동하는 챗봇을 만들어봐요!
🤖 카페 주문 챗봇 (종합편)
# 메뉴와 가격 (딕셔너리)
menu = {
“아메리카노”: 4500,
“라떼”: 5000,
“카푸치노”: 5500,
“바닐라라떼”: 5500
}
# 사용자 정보 (딕셔너리)
user = {
“name”: “철수”,
“points”: 1500,
“is_member”: True
}
# 챗봇 인사print(f”☕ 안녕하세요, {user[‘name’]}님!”)
print(f”현재 보유 포인트: {user[‘points’]:,}P\n”)
# 메뉴 보여주기 (리스트 반복)print(“📋 메뉴”)
menu_list = list(menu.keys()) # 딕셔너리의 키를 리스트로for i, item in enumerate(menu_list, 1):
price = menu[item]
print(f”{i}. {item} – {price:,}원”)
# 주문 받기 (가정: 사용자가 2번 선택)
choice = 2
selected_drink = menu_list[choice – 1] # “라떼”
price = menu[selected_drink]
# 할인 계산 (불린 + 실수)
discount_rate = 0.1if user[“is_member”] else0
discount = int(price * discount_rate)
final_price = price – discount
# 주문 결과 출력print(f”\n✅ 주문 완료!”)
print(f”상품: {selected_drink}”)
print(f”정가: {price:,}원”)
if user[“is_member”]:
print(f”회원 할인: -{discount:,}원 (10%)”)
print(f”결제 금액: {final_price:,}원”)
print(f”적립 포인트: +{int(final_price * 0.05):,}P”)