같은 for-if문인데도 결과가 다른이유
def al(x):
a = ''
for i in x:
print(i)
if i == False:
return False
else:
return True
al(['1',2,5,4,0])
True
이렇게 하면 왜 결과가 무조건 True가 되고
def al(x):
result=True
for i in x:
if not i :
return False
return result
al([1,2,5,4,0])
False
이렇게 하면 결과가 왜 제대로 나오나요?
아무개 님 66
2022년 5월 12일 3:14 오후
잘은 모르지만 처음 코드는 문자열 1을 만나면 else로 진입하여 return True를 반환하게 되면서 for 문을 빠져나올 것 같습니다..그래서 한번만 실행 되고 그 이후는 실행 안될 것 같습니다. 그래서 True 가 나오지 않나 싶습니다. 두 번째 코드는 조건문이 False 일때 True가 되어 if 문으로 진입 하므로 for 문을 끝까지 수행하고 if 문 안에서 False 를 return 하는것 같습니다.
리스트의 마지막 값이 0 이기 때문에요.
-
galactic19님,
M 2022년 5월 18일 6:54 오후
추천
,
대댓글