파이썬 기초 정리_2. 조건문과 반복문

리냥·2022년 6월 6일
0

파이썬 기초 정리_2. 조건문과 반복문

1. 조건문

  • 단일 if문

단일 if문은 단 1개의 조건식을 가지고 있는 if문을 의미한다. 단일 if문은 크게 2가지로 분류되는데 단일 if 구문 형식과 단일 if-else 구문 형식이 있다.

단일 if문 형식

if(조건문):
명령문 1
(명령문 2
)
grade=82
if(grade>=80):
	print('합격입니다.')
    
grade=80
if(grade>80):
	print('합격입니다.')
  • 단일 if-else 구문 형식

    if(조건식):
    	명령문 a1
       (명령문 a2)
- 중첩 if문

중첩 if문은 단일 if문과 달리 1개의 if문이 2개 이상의 조건식을 가지고 있는 if문을 말한다. 이때 새로운 조건식을 정의하기 위해 'else if'를 줄인 'elif'를 사용한다.


```python
num=-1
if(num>0):
	print('양수!')
elif(num<0):
	print('음수')
else:
	print('0')
    

-반복문

반복문은 for문과 while문이 있다.

for 단일/중첩

for문 기본 형식

for 변수 in(범위 또는 배열):
	명령문1
    (명령문2
    ..)
    

for문의 범위 부분은 다음의 예제와 같이 일반적으로 range() 함수를 사용하여 반복시킨다. 코드를 실행하면 다음과 같이 '안녕!'을 3번 출력시킨다.

for i in range(3):
	print('안녕!')

원래 0부터 카운트 됨

그리고 변수 i를 for문에 사용하지 않는다면 다음과 같이 굳이 변수를 지정해 주지 않아도 되며 i 대신에 '_'를 사용해도 된다.

for _ in range(3):
	print('안녕!')
    

그러나 다음과 같이 i 변수를 for 구문 내에서 사용할 경우에는 변수를 지정해 주어야 한다. 코드를 실행하면 다음과 같은 결과가 출력된다. 즉 0에서 3보다 하나 적을 때까지 반복을 진행한다.

for i in range(3)
	print(i)

0
1
2

for i in range(2,5):
	print(i)

2
3
4

range() 함수는 최대 3개의 값을 입력 인자로 입력할 수 있으며 입력이 3개인 경우의 기본형은 다음과 같이 2가지 형식이 있다.

  1. range(시작값, 마지막값+1, 증가값)

  2. range(시작값, 마지막값-1, 감소값)

    for i in range(0,7,2)
    	print(i)

    0
    2
    4
    6

    for i in range(6, -1, -2):
    	print(i)

    6
    4
    2
    0

    1~10까지 정수의 합을 계산하여 출력하는 코드

    sum=0
    for i in range(1,11):
    	sum+=i
    print('합계', sum)
    import time
    for i in range(10,0,-1):
    	print(i)
       time.sleep(1)
    print('fire!')

    중첩 for문

    중첩 for문은 for문 내에 또 다른 for문의 존재

    for i in range(3):
    	for j in range(3):
       print('*')

end=''이면 별이 옆으로 작성

for i in range(3):
	for j in range(3):
    	print('*', end='')
for i in range(3):
	for j in range(3):
    	print('*', end='')
        	print("")
***
***
***

으로 출력

이때 반드시 두 번째 print()함수는 두 번째 for문의 'f'에 맞춰 정렬해야 에러가 발생하지 않는다. 그렇다면 왜, 두 번째 print() 함수는 두 번째 for문과 나란하게 정렬할까?
두 번째 for문은 한 줄에 별 3개씩을 출력하나
첫 번째 for문은 두 번째 for문을 실행ㅇ하고 다음 줄로 띄운다

for i in range(1,10):
	for j in range(1,10):
    	print(i*j, end=' ')
    print()

print()함수의 'end'에 1개의 공란을 입력하면 숫자와 숫자 사이를 1칸씩 띄울 수 있다. 위의 결과보다 좀 더 나은 출력을 위해 end=에 ' '대신 \t를 입력하면 일정한 간격의 띄어쓰기가 가능하다.

for i in range(1,10):
	print('[', i, '단]')
   for h in range(1,10):
   	print(i, '*', j '=', i*j)
   print()
   
for i in range(1,4):
	for j in range(1,i+1):
  		print(j, end=' ' )
   print()
   


1
12
123

while문

while문 기본 형식

while(조건식):
	명령문1
   (명령문2
   )
i=0
while(i<3):
	print(i)
   i=i+1

0
1
2

  • break나 continue

    sum=0
    for i in range(100):
    	sum+=i
       if(sum>100):
       	break
     print('sum=', sum, )
    sum=0
    for i in range(100):
    	if(sum>100):
      continue
      sum+=i
profile
안녕하세요. 일로 인해 잠시 쉽니다 :)

0개의 댓글