단일 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가지 형식이 있다.
range(시작값, 마지막값+1, 증가값)
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