1<=100 사이 2배수 구하기
i = 1
while i <= 50:
if i % 2 == 0:
i += 1
print(i)
1 부터 50 까지 숫자를 구하고 * 2
while문을 사용하여, 100 이상의 자연수 중 가장 작은 23의 배수를 출력해 보세요.
i = 100
while i % 23 != 0:
i += 1
몰랐던 사실 다른 언어에는 i++ 증감식 있는데 파이썬엔 i +=1 로 증감식을 써야된다.
print(i)
while 이란 true 일 경우에만 반복을 한다. 즉 23의 배수에 해당하는 숫자에 조건이 맞으면 반복문을 탈출한다. 여기서는 i 의 값을 1씩 증가시켜주다가 115인 23배수를 찾았으니 값을 반환하고 반복문을 탈출함.
전역변수 지역변수는 함수외부 내부의 구분이지 코드블럭안에서는 모두 전역변수로 취급받는다. 즉 i 의 값이 변경되어 출력
if-else 조건문
파이썬을 쓰다보면 인덴팅(들여쓰기)의 중요성을 다시금 느낄 수 있었는데 여기선 i+=1 의 위치가 참 중요하다는 걸 다시 느꼈다. 확실히 c언어를 공부했을땐 bracket {}을 통해 증가값을 어디에 넣어줄 지 한 눈에 파악 가능했는데, 파이썬의 경우 탭으로 들여쓰기를 하다보니 깜빡하는 경우가 있음. i+=1은 코드블럭 내에서 실행 되는게 아니라 if 문 밖에서 증가를 해줘야 while 문을 통해 반복할때마다 증가해줄 수 가 있는 것.
total 이라는 변수를 초기화해주고 반복문을 돌며 조건에 맞게 구해진 i의 값을 total 에 할당해준다. 이 반복문 내부에서 print를 찍으면 구해진 모든 값들이 위와 같이 출력되고, 반복문 외부에서 i+=1 과같이 print을 찍으면 total값에 전부 더해진 i의 값 33167이 출력되는걸 볼 수 있다.
참고로 i += 1은 if문 밖에 있어야 합니다. 그렇지 않으면 끝이 안 나는 "무한 루프"에 빠지게 됩니다. 주의해 주세요!