if 조건문에서 조건을 리스트 형식으로 여러가지 넣을수는 없을까요?
조회수 1036회
def chat():
print('start chatbot')
while True:
inp = input("user :")
if inp == "종료":
print('챗봇 서비스를 종료합니다.')
break
data = "안녕하세요"or"안녕"or"하이"
if data:
print("무엇을 도와드릴까요?")
else:
print('다시한번 말씀해 주시겠습니까?')
chat()
input으로 들어오는 값이 '안녕하세요',' 안녕', '하이' 일때는 "무엇을 도와드릴까요??"
다른 값이 들어오면 "다시 한번 말씀해 주시겠습니까??"
로 하고싶은건데 ㅜㅜ 잘 모르겠네요
저렇게 하면 입력이 들어가면 어떤 입력이든 '무엇을 도와드릴까요'가 나오네요 ㅜ
for 문을 사용해야할까요 ㅜㅜ 어디가 틀린걸까요
2 답변
-
-
작성하신 코드가 항상 '무엇을 도와드릴까요?'만 나오는 이유는 아래 코드에서 data의 값이 boolean 인 true 이기 때문 입니다.
def chat(): print('start chatbot') while True: inp = input("user :") if inp == "종료": print('챗봇 서비스를 종료합니다.') break data = "안녕하세요"or"안녕"or"하이" # 여기에서 data는 true로 설정 됨 if data: # data가 true 이므로, 항상 이곳을 실행 print("무엇을 도와드릴까요?") else: print('다시한번 말씀해 주시겠습니까?') chat()
원하시는 대로 작동 되게 하려면,
def chat(): print('start chatbot') while True: inp = input("user :") if inp == "종료": print('챗봇 서비스를 종료합니다.') break data = ["안녕하세요", "안녕", "하이"] if inp in data: # 입력 받은 문자가 data 리스트 안에 있으면 수행 print("무엇을 도와드릴까요?") else: # 없으면 이곳을 수행 print('다시한번 말씀해 주시겠습니까?') chat()
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력