조건문(if)
if, elif, else
파이썬에서의 if문 / switch - case 없음
naver = ["김규동", "김범수", "김지혜", "배철우", "신진영", "길영준", "장재호", "조원재", "장민실"]
passToNaver = input("네이버 합겹자 명단입니다. 성함을 입력해주세요.")
if passToNaver in naver:
print(passToNaver, "님은 합격자입니다.")
if passToNaver == "조준모":
print("불합겨어어어억")
else:
print(passToNaver, "님은 불합격자입니다.")
예제
사용자로부터 월을 입력받으면 월에 해당하는 계절이 출력되도록 하는 코드를 작성해보세요
12월~3월 : 겨울 / 4월 ~ 5월 : 봄 / 6월 ~ 8월 : 여름 / 9월 ~ 11월 : 가을
winter = ["12월", "1월", "2월", "3월"]
spring = ["4월", "5월"]
summer = ["6월", "7월", "8월"]
autumn = ["9월", "10월", "11월"]
enter = input("계절을 알려드립니다. 계절을 알고 싶은 월을 써보세요")
if enter in winter:
print("겨울")
elif enter in spring:
print("봄")
elif enter in summer:
print("여름")
elif enter in autumn:
print("가을")
else :
print("유효한 월이 아닙니다")
month = int(input("월 입력 : "))
month = 12
if month >= 1 and month <=3 or month == 12:
print("{}월은 겨울입니다.".format(month))
반복문 : 특정한 코드의 영역을 반복적으로 수행하는 것을 돕는 제어문
while : 조건이 참일동안 내용을 계속 수행하는 반복문
for : 지정된 범위에서 조건이 참을동안 내용을 계속 수행하는 반복문
test = 0
while test<10000:
test+=1
print("미친듯이 달리는 폭주기관차%d km", test)
if test==50:
print("멈춰")
break
while 문 응용하기
퀴즈 10번 찍어 안넘어가는 나무 없다.
나무를 10번 찍기전까지는 도끼로 나무를 n번 찍었습니다. 나오는 메세지 출력
n = 0
while n<=10:
n+=1
print("도끼로 나무를 {}번 찍었습니다".format(n))
if n==10:
print("나무가 쓰러지고 있습니다")
break
for 문
for 임시변수 in 변수(리스트, 문자열)
goottList = ["조준모", "김범수", "김규동", "김지혜", "길영준", "배철우", "신진영", "장민실", "장재호", "조원재", "박진배"]
for i in goottList:
print(i)
for문 예제2
list2 = [1,2,3,4,5,6]
리스트 안의 요소 값이 4라면 4를 출력했습니다. 라는 메세지를 출력
for test in list2:
if test == 4:
print("{}를 출력했습니다".format(test))
for문 예제3
해당 리스트에서 35이상의 값들만 출력하고 그 값들의 합계 구하기
list3 = [20, 50, 30, 40, 10, 60]
result = []
for test in list3:
if test >= 35:
result.append(test)
print(test)
print(sum(result))
range
반복의 범위를 지정하는 함수
사용방법 : for 임시변수 in range(시작, 끝, 증감값)
슬라이싱과 비슷하지만 range 함수는 최소 끝값은 무조건 작성
사용예제
range(stop) # stop-1까지 정수 시퀀스를 반환
for i in range(5):
print(i)
#결과: 0 1 2 3 4
for i in range(2, 10):
print(i)
#결과 : 2 3 4 5 6 7 8 9
#range(start, stop, [step])
for i in range(1, 10, 2):
print(i)
#결과: 1 3 5 7 9
#range(stop, step)
for i in range(0, 10, 3):
print(i)
#결과: 0 3 6 9
#감소도 가능
for i in range(20,0,-2):
print(i)
간단한 연습문제들을 통해 사용방법을 익혀보자
문제
quiz = [27, 19, 35, 43, 12, 21, 41, 39]
위와같은 리스트에서 다음의 조건을 출력해보세요
만약 결과값이 없으면 "결과값 없음" 이라는 문자를 출력해주세요
전제조건 : 반복문을 이용
1. 20보다 큰 9의배수 : 결과값 없음.
2. 40보다 작은 3의배수
단 1번과 2번조건을 동일하게 만족한다면 양쪽다 출력되어야한다.
result1 = [] # 20보다 큰 9의 배수 저장
result2 = [] # 40보다 작은 3의 배수 저장.
for i in quiz:
if i>20 and i%9==0 :
result1.append(i)
elif i<40 and i%3==0:
result2.append(i)
if len(result1) <1:
print("20보다 큰 9의 배수 : 결과값 없음")
else:
print("20보다 큰 9의 배수 : ", result1)
if len(result2) <1:
print("40보다 작은 3의 배수 : 결과값 없음")
else:
print("40보다 작은 3의 배수 : ", result2)