Python/Algorithm
[Python_Algorithm]반복문 건너뛰기와 여러 범위 스캔하기(자료구조와 함께 배우는 알고리즘 입문)
bangle0621
2021. 1. 15. 23:53
# 1~12까지 8을 건너뛰고 출력하기1
for i in range(1,13):
if i == 8:
continue
print(i,end='')
print()
위의 결과는 8은 출력되진 않지만 range 범위만큼 반복을 해야하므로 효율적이지진 않다.
# 1부터 12까지 8을 건너뛰고 출력하기2
for i in list(range(1,8))+list(range(9,13)):
print(i,end='')
print()
여기선 8을 건너뛰고 리스트를 만들어 출력하였다. 하지만 이도 for문에서 리스트의 내용을 하나씩 꺼내서 반복하기에 반복은 여전히 발생한다.
# 2자리 양수(10~99) 입력받기
print('2자리 양수를 입력하세요.')
while True:
no = int(input('값을 입력하세요.:'))
if no >= 10 and no <=99:
break
print(f'입력받은 양수는 {no} 입니다.')
연속으로 사용된 비교 연산자는 'and결합'으로 취급하여
10 <= no <= 99 로 표현할 수도 있다.
드모르간 법칙을 사용
and 를 or 로 변경하고 논리 부정 연산자 not 을 사용하여 표현할 수도 있다.
no >= 10 and no <=99 는 not(no < 10 or no >99) 와 같다
- x and y 와 not(not x or not y)의 논리값은 같다.
- x or y 와 not(not x and not y)의 논리값은 같다.