Python에서 플래그 작업하기
플래그는 특수 변수로,
True 또는 False 값만
가질 수 있습니다. 플래그를 사용하면 특정한 것이
없는지 확인하는 작업을 수행할 수 있습니다:
예를 들어, 리스트에 특정 값을 가진 요소가
없는지 확인할 수 있습니다.
다음 문제를 해결해 봅시다: 숫자 리스트가 주어졌을 때,
모든 요소가 양수인지 확인해야 합니다.
이를 위해 flag라는 특수 변수를 설정하고,
루프가 시작되기 전에는 참(True)으로 둡니다.
그리고 루프에서 음수가 발견되면
그 값을 False로 변경합니다.
검사 결과를 확인하기 위해
루프 후에 flag 변수를 콘솔에 출력해 봅시다:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # 모든 숫자가 양수이므로 True를 출력합니다
플래그 변수에 조건을 반영하는 이름을 지정하는 것이 좋은 습관입니다.
flag를 isAllPositive로 바꿔봅시다.
그리고 명확성을 위해 리스트의 숫자 하나를 음수로 바꿔봅시다:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # 음수가 있으므로 False를 출력합니다
순회하는 리스트에 값이 많고,
첫 번째 음수를 발견한 후에 루프를 중지해야 하는 경우,
break 명령어를 사용해야 합니다:
for el in lst:
if el < 0:
isAllPositive = False
break
플래그를 사용할 때, 루프 실행 결과를 확인하기 위해
플래그 값을 출력하는 대신 추가적인 if를 사용하여
임의의 메시지를 출력할 수 있습니다.
이전 예제를 다시 작성해 봅시다.
모든 요소가 양수라면 '+++'가 출력되고,
그렇지 않다면 '---'가 출력되도록 합니다:
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # '---'를 출력합니다
리스트가 주어집니다. 모든 요소가 양수인지 확인하세요.
정수가 주어집니다. 해당 숫자가 소수인지 확인하세요, 즉 1과 자기 자신으로만 나누어지는지 확인하세요.