-
[Python] 문법정리 while, if, continue / sort(reverse=True) / reverse()Coding Test 2022. 11. 12. 16:45
소수 구하는 방법 (while 과 if 문 사용)
# 소수(Prime Number)는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다. a=2 count=0 while a<=1000: #2~1000 사이의 수에서 찾을 것이다. b=2 c=False #소수일 때는 False로 표시하고, 시작을 False로 시작한다 while b<=a-1: # 1과 그 수 자체는 볼 필요 없기 때문에 제외시키려고 한다. 따라서 b는 a보다 작게끔 만들고, 2부터 시작했다. # 그래서 a를 b로 나눴을 때 나머지 0이 아닌 애들(소수인 애들)을 찾을건데 if a%b==0: #나눠지면 True로 표시하고 1 더해서 넘어가고 b+=1 c=True else: b+=1 # 안 나눠지는 소수를 찾았으면 False로 표시하고 if c==False: # count에 1을 더해서 체킹해준다 print(a,end=' ') count+=1 a+=1 print('\n',count) # 그래서 소수가 총 몇개가 있는지 세는 방식이다.
while문 사용의 핵심은 조건이 true 또는 false가 되도록 변수값을 조절하면서 반복시키는 것이다.
#반복문 continue, break a=0 while a<10: a+=1 if a==3:continue #컨티뉴를 만나면 자기와 대응되고 있는 while문으로 바로 간다 #그래서 3은 출력되지 않음 if a==5:break print(a) else: print('while문 정상 수행') print('while 수행 후 %d'%a) ''' 현재는 정상 종료이지만(a조건이 false가 되서 와일문 끝남) 하지만 break를 만나면 강제 종료 '''
1
2
4
while 수행 후 5continue는 만나면, 자기와 대응되고 있는 while문으로 바로 보내주기 때문에 현재 턴의 동작이 실행되지 않는다. 대신에 자신의 다음 순번의 동작이 실행된다.
break는 만나면, 거기서 바로 반복문을 강제 종료시킨다(while문을 완전히 탈출한다.). while의 조건이 false가 되서 반복을 멈추는 것이 정상 종료되는 것이다.
아무 숫자나 넣어서 random.seed(1) 하면, 특정한 한 가지 난수가 고정되어 출력된다.
while True: 같은 무한루프는 break만으로 탈출이 가능하다.
li = ['a','b','c'] for idx, data in enumerate(li): #에뉴머레이트 -> 인덱스를 반환해준다 print(idx, data) ''' 0 a 1 b 2 c '''
def solution(brown, red): nm = brown + red for n in range(1, nm+1): if nm%n != 0: #나머지가 0이 아니면 다음 턴으로 바로 넘어간다 continue # 나머지 0이면 위 조건문으로 안들어가고 여기로 와서 동작을 실행한다. m = nm//n if (n-2)*(m-2) == red: return sorted([n, m], reverse = True)
반복문에서 continue 제외시키고 싶은 조건이 있을 때 사용하기 좋다.
sort() 는 기준에 따라 오름차순, 내림차순으로 정렬하는 메소드이다.
reverse()는 현재 리스트의 순서를 그냥 정반대로 뒤집어 주는 메소드이다.
따라서 sort(reverse=True)를 사용하면, 내림차순 정렬이 실행된다. 리스트를 표시할 때, 숫자 크기에 대해서 정해진 규칙이 있다면 부등호 대신 유용하게 사용할 수 있다.
외부 참조 링크
https://www.daleseo.com/python-global-nonlocal/
파이썬의 global과 nonlocal 키워드 사용법
Engineering Blog by Dale Seo
www.daleseo.com
https://m.blog.naver.com/wideeyed/221745432175
[Python] sort(reverse=True), reverse() 차이
파이썬의 sort(reverse=True), reverse() 차이에 대해서 알아보겠습니다. sort( ), reverse( ) 모두...
blog.naver.com
https://dojang.io/mod/page/view.php?id=2254
파이썬 코딩 도장: 18.2 continue로 코드 실행 건너뛰기
이번에는 continue를 사용하여 일부 코드를 실행하지 않고 건너뛰어 보겠습니다. 18.2.1 for에서 continue로 코드 실행 건너뛰기 다음은 for로 0부터 99까지 반복하면서 홀수만 출력합니다. continue_for.py
dojang.io
'Coding Test' 카테고리의 다른 글
[Python] 문법정리1 - zip(), lambda 함수, for in (0) 2022.11.06 [JS] 프로그래머스 코딩테스트 Lv. 1 ) 나누어 떨어지는 숫자 배열 (0) 2022.11.01 [JS] 프로그래머스 코딩테스트 Lv. 2) 올바른 괄호 (0) 2022.10.27 [JS] 프로그래머스 코딩테스트 Lv. 2 ) 최솟값 만들기 (0) 2022.10.24 [JS] 프로그래머스 코딩테스트 Lv. 2 ) 최댓값과 최솟값 (0) 2022.10.24