develope_kkyu

[오류 해결] TypeError: unsupported operand type(s) for &: ‘str’ and ‘str’ 본문

Python

[오류 해결] TypeError: unsupported operand type(s) for &: ‘str’ and ‘str’

developekkyu37 2023. 2. 19. 23:54
728x90

상황

  • 셀렉트박스에서 각각 리그 선택과 지구 선택을 하면 그에 맞는 팀선택 셀렉트박스를 구현하고 싶었다.

오류 문구

TypeError: unsupported operand type(s) for &: ‘str’ and ‘str’

                 
str 타입끼리의 & 연산자를 지원하지 않는다.

문제 코드

if league == '내셔널 리그' & region == '동부':
                 ~~~~~~~~~^~~~~~~~

해결

st.sidebar.write("팀 선택")
league = st.sidebar.selectbox('리그 선택',('내셔널 리그', '아메리칸 리그'))
if league == '내셔널 리그':
	region = st.sidebar.selectbox('지구 선택',('동부', '중부', '서부'))
    if region == '동부':
        team = st.sidebar.selectbox('팀선택', ('애틀랜타 브레이브스', '마이애미 말린스', '뉴욕 매츠', '필라델피아 필리스', '워싱턴 내셔널스'))
    elif region == '중부':
        team = st.sidebar.selectbox('팀선택', ('시카고 컵스', '신시내티 레즈', '밀워키 브루어스', '피츠버그 파이리츠', '세인트루이스 카디널스'))
    elif region == '서부':
        team = st.sidebar.selectbox('팀선택', ('애리조나 다이아몬드백스', '콜로라도 로키스', '로스앤젤레스 다저스', '샌디에이고 파드리스', '샌프란시스코 자이언츠'))
elif league == '아메리칸 리그':
    region = st.sidebar.selectbox('지구 선택',('동부', '중부', '서부'))        
    if region == '동부':
        team = st.sidebar.selectbox('팀선택', ('볼티모어 오리올스', '보스턴 레드삭스', '뉴욕 양키스', '템파베이 레이스', '토론토 블루제이스'))
    elif region == '중부':
        team = st.sidebar.selectbox('팀선택', ('시카고 화이트삭스', '클리블랜드 가디언스', '디트로이트 타이거스', '캔자스시티 로열스', '미네소타 트윈스'))
    elif region == '서부':
        team = st.sidebar.selectbox('팀선택', ('휴스턴 애스트로스', '로스앤젤레스 에인절스', '오클랜드 애슬레틱스', '시애틀 매리너스', '텍사스 레인저스'))
  • 중첩 if문을 사용해서 해결하였다.

 

728x90