조건문에서 in 리스트 질문 있습니다!
조회수 524회
TestA = [TestB, 'gold' ,'void']
TestB = ['테스트', 130]
TestA 안에 TestB가 있고, TestB 안에 ‘테스트’ 가 있거나 번호가 150 이상이 있다면
-> ‘테스트 B 확인’
TestA 안에 TestB가 있고, TestB 안에 ‘테스트’ 가 없거나 번호가 150 미만이 있다면
-> ‘테스트 C 확인’
TestA안에 TestB 가 없다면
-> ‘다시 확인’
이러한 문제에서 제가 풀어본 식에서 제가
if TestB in TestA :
check = 0
if '테스트' in TestB :
print('테스트 B 확인')
check += 1
elif TestB[0] >= 100 in TestB :
if check == 0 :
print('테스트 B 확인')
이런식으로 풀고 있는데요 문제에 답변과 제가 풀고 있는 방식이 맞는건지 이해를 제대로 한건지 잘 모르겠습니다. 거기에 elif TestB[0] >= 100 in TestB 이 부분이 맞는건지 잘 모르곘네요
1 답변
-
다른 방식도 있겠지만 150 이상인 조건을 따로 하려면 이렇게 해야될 것 같습니다.
TestB = ['테스트', 130] TestA = [TestB, 'gold' ,'void'] if TestB in TestA: c = [i for i in TestB if str(type(i)) == "<class 'int'>"] print(c) if '테스트' in TestB or max(c) >= 150: print('테스트 B 확인') if '테스트' not in TestB or min(c) < 150: print('테스트 C 확인') else: print('다시 확인')
댓글 입력