python 2

조건부 실행

비교 연산자

  • x == y : x는 y는 같다.
  • x != y : x는 y와 같지 않다.
  • x > y : x는 y보다 크다.
  • x < y. : x는 y보다 작다.
  • x >= y : x는 y보다 크거나 같다.
  • x <= y : x는 y보다 작거나 같다.
  • x is y : x는 y와 같다.
  • x is not y : x는 y와 같지 않다.

논리연산자

  • A and B : A 그리고 B 모두 참이면 참이다.
  • A or B : A 또는 B 하나만 참이면 참이다.
  • not A : A가 거짓이면 참이다.

0이 아닌 임의의 숫자는 모두 참(True) 이다. 이것은 유용할 수도 있으나 혼란을 줄 수도 있으니 유의해서 사용해야 한다. 정확하게 인지하고 있지 않다면 사용하지 않는게 좋다.

조건문

  • 가장 간단한 조건문 if문

x = 3
if x < 10:
    print 'Small'
Small

x=3으로 10보다 작으므로 참이다. 따라서 Small 출력 한다.

  • 대안 실행 if else문

x = 3
if x%2 == 0:
    print 'x is even'
else:
    print 'x is odd'    

x is odd

x를 2로 나눈 나머지가 0이면 'x is even' 출력 한다. 만약 0이 아니면 'x is odd' 출력 한다.

  • 조건이 2가지 이상의 경우 if elif else문

x = 4
y = 10
if x < y:
    print 'x is less than y'
elif x > y:
    print 'x is greater than y'
else:
    print 'x and y are equal'
x is less than y
number = 23
guess = int(raw_input('정수를 입력 하여라:'))

if guess == number:
    print '축하합니다. 숫자를 맞췄습니다.'
elif guess < number:
  print '틀렸습니다. 좀 더 큰수를 입력하세요.'
else:
  print '틀렸습니다. 좀 더 작은수를 입력하세요.'    
정수를 입력 하여라: 30
틀렸습니다. 좀 더 작은수를 입력하세요.

elif 는 else if 의 축약어 이다. elif 문의 갯수는 제한이 없다. 또한 else 절이 있으면 끝나야 하지만 꼭 필요한 것은 아니다. 각 조건은 순서대로 참 거짓 여부를 판단하며 진행중 하나의 조건이 참이면 해당 분기가 실행되고 if문 전체는 종료 된다.

  • 중첩 조건문
x = 4
y = 10
if x == y:
    print 'x and y are equal'
else:
    if x < y:
        print 'x is less than y'    
    else:
        print 'x is greater than y' 
x is less than y

하나의 조건문이 조건문 내부에 중첩될 수 있다. 중첩 조건문은 가독성이 저하된다. 따라서 일반적으로 사용하지 않는 것이 좋다.

논리 연산자를 사용하면 중첩 조건문을 간략히 할 수 있다.

x = 5
if 0 < x:
    if x < 10:
        print 'x is a positive single-digit number.'
x = 5
if 0 < x and x < 10:
    print 'x is a positive single-digit number.'
x is a positive single-digit number.

python에는 shitch문이 없다. 대신 if.elif..else 문을 사용한다. 몇몇 상황에서는 사전을 이용하는것이 편리하다.

반응형

'Python > python 2' 카테고리의 다른 글

Numerical Python Numpy - multidimensional data arrays  (0) 2017.10.23