스터디
[파이썬 벼락치기] if문 | while문 | for문 | 기타 제어문 | 제어문 중첩
imgani
2023. 8. 12. 14:31
- 기간 : 2023-08-11 ~ 2023-08-13 (2일차)
- 목표 : 좀 더 본격적으로 데이터 다뤄보기
1. if문 : 특정 조건을 만족할 때와 만족하지 않을 때를 나눠 코드를 실행하는 조건문
조건이 참일 때 -> 실행
조건이 거짓일 때 -> 실행x
- if
num = int(input("숫자를 입력하세요.: "))
if num>0 :
print("{}은(는) 양수입니다.".format(num))
- if ~ else
num = int(input("숫자를 입력하세요.: "))
if num%2==0 :
print("{}은(는) 짝수입니다.".format(num))
else : # 조건을 적지 않는다. False일 때 리턴값만 작성함.
print("{}은(는) 홀수입니다.".format(num))
- if ~ elif
age = int(input("나이를 입력하세요. :"))
if age<=7 :
print("당신은 유아입니다.")
elif age<=19 :
print("당신은 청소년입니다.")
elif age>=20 : # elif와 else 모두 if 뒤에 사용한다.
print("당신은 성인입니다.")
age = int(input("나이를 입력하세요. :"))
if age<=7 :
print("당신은 유아입니다.")
if age<=19 :
print("당신은 청소년입니다.")
if age>=20 : # elif와 else 모두 if 뒤에 사용한다.
print("당신은 성인입니다.")
당신은 유아입니다.
당신은 청소년입니다.
# if만 사용하면 모든 참인 경우의 리턴 값이 나옴
- if ~ elif ~ else
text = input("알파벳을 입력하세요.: ")
if text.isupper() :
print("대문자")
elif text.islower() :
print("소문자")
else :
print("대/소문자 구분 불가능")
2. while문 : 조건을 만족할 때 코드를 반복하는 조건문
조건이 참일 때 -> 반복
조건이 거짓일 때 -> 반복 종료
print("a가 0보다 같거나 크면 실행, 작으면 정지")
a = int(input("a를 입력하세요,: "))
while a>=0 :
print("실행")
a = int(input("a를 입력하세요,: ")) # 안 쓰면 무한루프됨
- n번 반복하기
n = int(input("n: "))
while n : # 양수면 참, 0 또는 음수면 거짓
print(n)
n=n-1
- ~까지 반복하기
# (1) 1~10까지 숫자 반복하기
n = 1
while n<=10 :
print(n)
n=n+1
# (2) yes를 입력하면 반복하기
text = 'yes'
while text=='yes':
text = input("yes 입력 시 반복: ")
print("종료")
# (3) e 또는 E가 입력되면 종료 --> 어려움 ㅠ
text = input('e 또는 E가 입력되면 종료')
while text!='e' and text!='E' :
text = input('e 또는 E가 입력되면 종료')
print('종료')
3. for문 : while처럼 반복하는 조건문
- 특정 범위만큼 코드를 반복
- 열거형 데이터(리스트 등)를 하나씩 변수 값에 대입하며 실행
- range() 함수
- for문에서 많이 씀
- 인자 값은 모두 정수(int)만 가능
range(11) # 0부터 10까지 1씩 증가
range(1,11) # 1부터 10까지 1씩 증가
range(1,11,2) # 1부터 10까지 2씩 증가
- for문 활용
# 1에서 n까지 출력
n = int(input('n: '))
for i in range(1,n+1) :
print(i)
# a에서 b까지 출력
a = int(input('a: '))
b = int(input('b: '))
# [응용:한줄로 쓰기] a,b = map(int,input('a b: ').split())
for i in range(a,b+1) :
print(i)
# n에서 0까지 출력
n = int(input('n: '))
for i in range(n,-1,-1):
print(i)
4. 기타 제어문
- continue : 해당 단계를 건너뛰고 다음 단계로 간다.
- break : 제어문을 중단하고 빠져나간다.
- pass : 아무 작업도 하지 않는다. (일단 비워두고 싶을 때 사용함)
for i in range(1,11):
if i==5 :
continue # 이 부분만 다르게 사용
print(i)
5. 제어문 중첩
- if + if
age = int(input('나이를 입력하세요: '))
if age<=7 :
print('유아')
elif age<=19 :
print('청소년')
if age<=13 :
print('초등학생')
elif age<=16 :
print('중학생')
else :
print('고등학생')
else :
print('성인')
- for + if
# for + if
n = int(input('n: '))
for i in range(1,n+1) :
if i%3==0 : # 3의 배수
print('X')
else :
print(i)
- while + if
# while + if
num1 = 0
num2 = int(input('n: '))
while True : # 무한루프
num1=num1+1
print(num1)
if num1==num2 :
break # 종료
- for + for
# for + for (경우의 수 모두 구하기)
for i in range(1,7) :
for j in range(1,7) :
print(i,j)