본문 바로가기
Python/개념

Day 4-4. 제어문 - 조건문

by 사라리24 2024. 3. 14.
SMALL

1.  조건문

조건문은 코드의 실행 흐름을 제어하기 위해 사용하는 구문입니다. 이 조건문은 주어진 조건이 참인지 거짓인지에 따라 다른 코드를 실행하게 합니다.

 

if 문

가장 기본적인 조건문입니다. 특정 조건이 참(True)일 경우에만 해당 블록 내의 코드가 실행됩니다.

if 조건:
    실행할 코드

 

 

 
  bool1 = True

  if bool1:
      print('결과는 참입니다')
  print('프로그램을 종료합니다')
 
 
결과는 참입니다
프로그램을 종료합니다

ㄴ 참이니까 실행문이 출력

ㄴ 두 줄 다 출력

 

 
  bool2 = False

  if bool2:
      print('결과는 참입니다')
  print('프로그램을 종료합니다')
 
프로그램을 종료합니다

ㄴ 거짓이니까 실행문이 출력되지 않고 넘어감

ㄴ 한줄만 출력

 

 

  
  str1 = 'Hello'

  if str1:
    print('결과는 참입니다')  
  print('프로그램을 종료합니다')
 
 
결과는 참입니다
프로그램을 종료합니다

ㄴ 문자열 값이 있을 때 -> True  로 실행

     
  str1 = ''

  if str1:
      print('결과는 참입니다')
  print('프로그램을 종료합니다')
 
프로그램을 종료합니다

  문자열 값이 없을 때 -> False  로 실행

 

  
  str1 = 'hello'

  if str1:
      print('결과는 참입니다')
  print('프로그램을 종료합니다')
 

 

결과는 참입니다
프로그램을 종료합니다

ㄴ 문자열 값이 있을 때 -> True  로 실행

     
  str1 = ''

  if str1:
      print('결과는 참입니다')
  print('프로그램을 종료합니다')
 
프로그램을 종료합니다

ㄴ  문자열 값이 없을 때 -> False  로 실행

 

 
  age = int(input('나이를 입력하세요: '))

  if age > 19:
      print('성인입니다'

  print('입력한 나이: ', age)
 
나이를 입력하세요: 5
입력한 나이:  5
......................................................................
나이를 입력하세요: 25
성인입니다
입력한 나이:  25

ㄴ 실행문이 하나인 경우 한줄로 써도 가능

 

     
 
  age = int(input('나이를 입력하세요: '))

  if age > 19:
      print('성인입니다')
      print('넷플릭스 성인영화를 감상할 수 있습니다')
  print('입력한 나이: ', age)
 
 
나이를 입력하세요: 5
입력한 나이:  5
.......................................................................
나이를 입력하세요: 20
성인입니다
넷플릭스 성인영화를 감상할 수 있습니다
입력한 나이:  20

 

 


 

1-2. esle문

else는 파이썬의 조건문 구조에서 if와 elif 조건들이 모두 거짓으로 평가될 경우 실행되는 부분을 정의하는 데 사용됩니다. else는 선택적으로 사용될 수 있으며, 그 자체로는 어떤 조건을 갖지 않습니다. 다시 말해, else 블록은 위의 if와 elif 조건들이 모두 만족되지 않는 경우에만 실행됩니다.

if 조건:
    코드 블록1
else:
    코드 블록3

 

 
  age = int(input('나이를 입력하세요: '))

  if age > 19:
      print('성인입니다')
  else:
      print('미성년입니다')

  print('입력한 나이: ', age)
 

 

나이를 입력하세요: 5
미성년입니다
입력한 나이:  5

나이를 입력하세요: 25
성인입니다
입력한 나이:  25

 

 
  age = int(input('나이를 입력하세요: '))
 
  if age > 19:
      print('성인입니다')
      print('넷플릭스 성인영화를 감상할 수 있습니다')
  else:
      print('미성년입니다')
      print('디즈니를 보세요')

  print('입력한 나이: ', age)
 
나이를 입력하세요: 5
미성년입니다
디즈니를 보세요
입력한 나이:  5

나이를 입력하세요: 25
성인입니다
넷플릭스 성인영화를 감상할 수 있습니다
입력한 나이:  25

 


1-3. elif 문

elif는if-else구조에서추가적인조건을검사하기위해사용되는키워드입니다. elif는"else if"의줄임말이며,주어진여러조건중에서하나만참일때실행되는코드블록을정의합니다.

if 조건1:
    코드 블록1
elif 조건2:
    코드 블록2
elif 조건3:
    코드 블록3
else:
    코드 블록4
  • elif는 if 없이 단독으로 사용될 수 없습니다.
  • elif는 필요에 따라 여러 번 사용될 수 있습니다.
  • else는 선택적입니다. 사용될 경우, 항상 if나 elif 뒤에 나타나야 합니다.
elif를 사용함으로써 여러 조건을 순차적으로 검사하고, 해당 조건에 따라 다른 행동을 취할 수 있습니다. 이는 코드의 가독성을 높이고, 조건의 우선순위를 명확하게 만들어 줍니다.

 

 
 
  age = int(input('나이를 입력하세요: '))

  if age > 19:
      print('성인입니다')
  elif age > 14:
      print('청소년입니다')
  elif age > 6:
      print('어린이입니다')
  elif age > 0:
      print('유아입니다')
  # else:
  # print('입력을 확인하세요')

  print('입력한 나이: ', age)
  
 
나이를 입력하세요: 5
유아입니다
입력한 나이:  5

나이를 입력하세요: 8
어린이입니다
입력한 나이:  8

나이를 입력하세요: 25
성인입니다
입력한 나이:  25


 

ㄴ 조건문이 참이면 밑에 부부은 체크하지 않음

 


예시문제_1

* 아래와 같은 로그인 프로그램을 만들어보자
* 아이디를 입력하세요: apple
* 비밀번호를 입력하세요: 1111
* 결과: "로그인 되었습니다" 또는 "아이디 또는 비밀번호를 확인하세요."라고 출력
* 단, 아이디가 admin, 비밀번호가 1234일 경울 로그인 성공
 
  id = input('아이디를 입력하세요: ')
  pw = input('비밀번호를 입력하세요: ')

  if id == 'apple' and pw == '1111':
    print("로그인 되었습니다.")
 
  elif id == 'admin' and pw == '1234':
    print("로그인 성공")
 
  else :
    print("아이디 또는 비밀번호를 확인하세요.")
-------------------------------------------------------------------------------------------------------------------------------------------------------
 userid = input('아이디를 입력하세요')
  userpw = input('비밀번호를 입력하세요')

  if userid == 'admin' and userpw == '1234':
      print('로그인 되었습니다')
  else:
      print('아이디 또는 비밀번호를 확인하세요')
  

 

아이디를 입력하세요: apple
비밀번호를 입력하세요: 1111
로그인 되었습니다.

아이디를 입력하세요: hello
비밀번호를 입력하세요: 4545
아이디 또는 비밀번호를 확인하세요.

아이디를 입력하세요: admin
비밀번호를 입력하세요: 1234
로그인 성공

 


예시문제_2

* 주민등록번호에 의한 성별을 판별하는 프로그램을 만들어보자
* 주민등록번호를 입력하세요 ⁉ 0010113068518
* 결과 : "남자입니다" 또는 "여자입니다"
단, 성별을 판별하는 숫자가 1,3,5,7,9는 남자 2,4,6,8,0은 여자

 

 
  num = input('주민번호를 입력하세요: ')

  if num[6] == '1' or num[6] == '3' or num[6] == '5' or num[6] == '7' or num[6] == '9':
    print("남자입니다.")
 
  elif num[6] == '2' or num[6]== '4' or num[6]== '6' or num[6] == 8' or num[6] == '0':
    print("여자입니다.")
 
  else :
    print("잘못입력하셨습니다.")
 
----------------------------------------------------------------------------------------------------------------------------------------
  juminNo = input('주민등록번호 13자리를 -없이 입력하세요')

  if juminNo[6] == '1' or juminNo[6] == '3' or juminNo[6] == '5' or juminNo[6] == '7' or juminNo[6] == '9':
      print('남자')  
  else:
      print('여자')
 

 

주민번호를 입력하세요: 9304112537712
여자입니다.

주민번호를 입력하세요: 9304119537712
남자입니다.

 


예시문제_3

* 국어, 영어, 수학점수를 입력받아 총점, 평균, 학점을 구하는 프로그램을 작성해보자
* 단, 학점은 평균기준으로
90점 이상은 A학점, 80점 이상은 B학점,
70점 이상은 C학점, 60점 이상은 D학점, 나머지는 F학점

 

 
  kor, eng, math = input('국어, 영어, 수학점수를 입력하세요').split(' ')

  tot = int(kor) + int(eng) + int(math)
  avg = tot / 3

  hak = 'F학점'

  if avg >= 90:
      hak = 'A학점'
  elif avg >= 80:
      hak = 'B학점'
  elif avg >= 70:
      hak = 'C학점'
  elif avg >= 60:
      hak = 'D학점'
   
  print('총점: ', tot)
  print('평균: ', avg)
  print('학점: ', hak)
 

 

국어, 영어, 수학점수를 입력하세요: 80 70 90
총점:  240
평균:  80.0
학점:  B학점


 

1-4. 조건부 표현식 (Conditional Expression)

조건부 표현식은 파이썬에서 삼항연산자라고도 불립니다.
조건부 표현식(Conditional Expression)은 간단한 if-else 구문을 더 간결하게 표현할 수 있는 방법을 제공합니다.

조건이 인 경우 값       if     조건    else     조건이 거짓이 경우
 
  num = int(input('숫자를 입력하세요: '))

  if num % 2 == 0:
      print('짝수')
  else:
      print('홀수')
  
 

🔻🔻🔻 조건부표현식으로 변형 🔻🔻🔻

 
  num = int(input('숫자를 입력하세요: '))

  print('짝수') if num % 2 == 0 else print('홀수')
  
 
 숫자를 입력하세요: 50
짝수
숫자를 입력하세요: 51
홀수

 

  • 삼항 연산자는 코드를 간결하게 만들어주지만, 너무 복잡한 조건이나 연산을 포함하면 코드의 가독성이 떨어질 수 있습니다. 따라서 적절한 상황에서만 사용하는 것이 좋습니다.
  • 여러 삼항 연산자를 중첩하여 사용할 수 있지만, 코드의 가독성이 떨어지므로 권장하지 않습니다.
 
  age = int(input('나이를 입력하세요: '))

  if age > 19:
      print('성인입니다')
  elif age > 14:
      print('청소년입니다')
  elif age > 6:
      print('어린이입니다')
  elif age > 0:
      print('유아입니다')
  else:
  print('입력을 확인하세요')

  print('입력한 나이: ', age)
  
 

🔻🔻🔻 조건부표현식으로 변형 🔻🔻🔻

 
  num = int(input('숫자를 입력하세요: '))

  print('짝수') if num % 2 == 0 else print('홀수')
  
 
 나이를 입력하세요: 5
유아입니다
입력한 나이:  5

나이를 입력하세요: 8
어린이입니다
입력한 나이:  8

나이를 입력하세요: 25
성인입니다
입력한 나이:  25

 

'Python > 개념' 카테고리의 다른 글

Day 5-1. 컬렉션과 반복문  (0) 2024.03.15
Day 4-5. 제어문 - 반복문  (0) 2024.03.14
Day 4-3. 파이썬 연산자  (0) 2024.03.14
Day 4-2. 컬렉션 타입 - 딕셔너리  (1) 2024.03.14
Day 4-1. 컬렉션 타입 - 세트  (0) 2024.03.14