TIL 6 | If statement

Hyeonju L.·2020년 11월 20일
0

Python

목록 보기
2/9

If statement

if 특정한 조건을 확인할 때 사용

if expression:
  codes to execute

expression 값이 '참'이면, codes to execute의 코드가 실행되며 '거짓'이면 실행되지 않음.
ref. expression 뒤에 :가 꼭 들어가야 한다.

age = 27
if age == 27:
  print(f"부럽네요..")

1) 비교 연산자

A == B A와 B가 같다
A != B A와 B가 다르다
A > B A가 B보다 크다
A >= B A가 B보다 크거나 같다
A < B A가 B보다 작다
A <= B A가 B보다 작거나 같다
A in B B가 A를 가지고 있다

def check_age(name, age):    # 파이썬에서 함수 정의시 def문 사용
  if age < 21:    # 조건문
    result = "Go home, " + name + "!"    # 변수 지정
    return result   # 결과값 출력
  elif age >= 21:
    result = "Nice to meet You, " + name + "!"
    return result

2) Elif and Else

elif else if의 줄임말로 if 구문 보조
else if구문의 condition이 False인 경우 default로 실행

if car == "현대":
  print("현대는 국산차")
elif car == "기아":  # car 변수값이 "기아"인 경우 elif 구문의 코드 실행
  print("기아는 국산차")
else:		    # car 값이 현대, 기아가 아닌경우 모두 "외제차" 출력
  print("외제차")

3) 여러가지 조건문 테스트

  • andor를 이용하는 방법

    and 여러가지 조건이 모두 충족될 때만 if 구문 실행
    or 여러 조건 중 하나만 True여도 if 구문 실행
    andor 함께 사용하는 것도 가능

  • if 구문의 중첩
    if 구문은 조건이 복잡할수록 가독성이 떨어질 수 있다.

if status == "학생" and year >= 3:
    print("취업이 곧 다가온다!")
elif status == "학생" and year == 2:
    print("그래도 아직 놀 시간이 있네..")
elif status == "학생" and year < 2:
    print("한창 놀때지..")
else:
    print("열심히 공부 해서 대학교 부터 가라!")

위의 예제에서 반복되고 있는 조건 status == 학생을 줄이고 if 구문의 중첩을 통해 가독성을 높여보자!

if status == "학생":
    if year >= 3:
        print("취업이 곧 다가온다")
    elif year == 2:         
        print("그래도 아직 놀 시간이 있네..")
    elif year < 2:                  
        print("한창 놀때지..")
else:
    print("열심히 공부 해서 대학교 부터 가라!")

예제
ax = b 의 방정식을 해결하는 프로그램 구현하기. x 값은?

[조건]

  1. Input 으로 주어진 a 와 b 값으로 위의 방정식을 충족하는 단 하나의 정수가 존재한다면 해당 정수를 출력
  2. 만일 a 와 b 값으로 위의 방정식을 충족하는 정수가 없다면 "No Solution" 출력
  3. a 와 b 값으로 위의 방정식을 충족하는 정수가 많다면 "Many Solutions"을 출력

[조건문]

if a == 0:
   if b == 0:
    print("Many Solutions")
elif b % a == 0:
  if a != 0:
    x = b/a
    print(x)
else:
  print("No solution")

처음에 if a == 0 and b == 0: 조건을 if b % a == 0 and a != 0: 다음으로 넣고 a에 0을 넣었더니 오류가 났다. 컴퓨터는 순차적으로 계산을 하기 때문에 첫번째 조건문인 b % a == 0을 먼저 계산해서 결과가 무한이 나온 것이다. 따라서 결과에 영향을 미치는 순서를 고려하여 코딩해야하는 것의 중요성을 알게 되었다.

profile
What you think, you become. What you feel, you attract. What you imagine, you create.

0개의 댓글