728x90
SMALL

6-1 제어문 

조건문 : 조건에 따라 참, 거짓을 판단하여 명령문 수행

- if문의 구조

if(조건식) :
     명령문 1
     명령문 2
명령문3

조건식이 참일때에만 명령문 실행
조건식 이후 콜론(:) 사용
조건식에 해당하는 명령문이 여러 개일 경우에 반드시 들여쓰기를 동일하게 해야 함
조건식이 끝나면 if문과 동일한 들여쓰기 라인에서 시작

- if ~else문의 구조

if(조건식 = 참):
     명령문1
else:
     명령문2

조건식이 참이면 명령문1 수행
그렇지 않으면 명령문2 수행
else 다음에는 조건식이 들어가지 않으며, 콜론(:)을 사용해야 함

 

a=int(input("값 입력"))
if(a>0):
  print(a,"는 양수")
else:
  print(a,"는 양수아님")

 

<실행 결과>

 

값 입력-4 

-4 는 양수아님

 

- if ~elif ~else문

if(조건식1=참):
     명령문1
elif(조건식2=참):
     명령문2
elif(조건식3=참):
     명령문3
else:
     명령문4

elif는 여러개 존재할 수 있음
else는 생략 가능
else는 조건식 없음

 

score=int(input("성적입력"))
if(score>=90):
  grade="a"
elif(score>=80):
  grade="b"
elif(score>=70):
  grade="c"
else:
  grade="f"
print("학점은",grade,"입니다")

 

<실행 결과>

 

성적입력50

학점은 f 입니다

 

- 중첩 if문

if(조건식1=참):
     if(조건식2=참):
          명령문1
     elif(조건식3=참):
          명령문2
     else:
          명령문3
else:
     명령문4

if, elif, else문의 명령문 안에 또 다른 if문 사용 가능
들여쓰기에 유의할 것 !

 

중첩 if문 예제)
입력받은 품목이 세일품목인 경우에, 가격이 2,000원 이상인 경우 : 10%할인 적용
입력받은 품목이 세일품목이 아닌 경우 : 현재 가격에 2,500원 더함

 

답)

 

a=input("품목명")
b=int(input("가격"))
sale=["연필","지우개"]
if(a in sale):
  if b>=2000:
    print("10%할인")
    print("가격은",b*0.9,"원")
  else:
    print("가격은",b,"원")
else:
  print("가격은",b+2500,"원")

 

<실행 결과>

 

품목명연필

가격2500

10%할인

가격은 2250.0 원

 

6-2 연산자

- 조건식에 들어가는 연산자

비교연산자 : 두 개의 피연산자를 비교하여 True/False 값을 내는 연산자논리연산자 : 논리 값을 대상으로 and, or, not의 논리 연산을 하여 논리값을 내는 연산자

 

비교연산자x>yx<yx>=yx<=yx==yx!=yx in y 이때 y는 리스트, 튜플, 문자열 등x not in y

 

논리연산자

x or y 하나만 True여도 True

x and y  하나만 False여도 False

not x

 


예시1)
논리연산자를 이용하여 봉사성적(a)과 진로성적(b)이 모두 "P"이면 "매우잘함", 하나만 "P"이면 보통, 둘다"P"가 아니면 "과락"이라고 표시하는 프로그램

 

a=input("봉사")
b=input("진로")
if(a=="P")and(b=="P"):
  print("매우잘함")
elif(a=="P")or(b=="P"):
  print("보통")
else:
  print("과락")

 

<실행 결과>

 

봉사F 

진로P

보통

 

예시2)
학년, 과제제출여부, 성적을 입력받아 학점을 계산하는 프로그램
과제를 제출하면 10% 가산점
60점 이상이면 합격, 미만이면 불합격
1학년이 아니면 70점 이상이어야 합격

 

year=int(input("grade"))
hw=input("과제 제출 여부 Y/N")
score=int(input("score"))

if(hw=="Y"):
  score+=score*0.1
if(score>=60):
  if(year!=1):
    if(score>=70):
      print("합격")
    else:
      print("불합격")
  else:
    print("합격")
else:
  print("불합격")

 

<실행 결과>

 

grade1

과제 제출 여부 Y/NN

score60

합격

728x90
LIST
Dylan07