본문 바로가기
개발

[파이썬&루비] 조건문(Conditional statements)

by 마스터누누 2017. 5. 29.
728x90
반응형

조건문(Conditional statements)




변수 다음으로 프로그래밍을 유연하게 만들어주는 것이 조건문이다.

조건문은 말 그대로 조건에 따라 분기하여 코드를 실행하는 것이다.

이 때 변수의 상태나 입력값 등이 이러한 조건으로 사용된다.

가장 흔한 조건의 예는 로그인이다.

예를 들어, 아이디 비밀번호가 일치할 때 접속이 가능하고

일치하지 않을 때는 경고문과 함께 로그인 페이지로 리다이렉션 된다.





1
2
3
4
5
6
7
8
9
10
11
12
#python
if True:
    print("code1")
    print("code2")
print("code3")
 
#ruby
if true
  puts("code1")
  puts("code2")
end
puts("code3")
cs


조건문은 파이썬과 루비 전부 if로 시작된다.

차이점이라면 루비는 if와 end사이에 조건식이 들어가지만 파이썬은 if 만 사용한다.

파이썬은 들여쓰기로 코드 블록을 구분하기 때문에, 같은 들여쓰기 라인으로 있는 그룹을 if 코드로 구분한다.

조건식의 발동 조건은 if 뒤의 조건식이 참일 때 이다.

만약 조건식이 거짓이면 내부 코드가 실행되지 않는다.


위의 코드에서는 조건식이 모두 참이기 때문에 if 내부의 코드가 실행된다.

결과적으로 콘솔창에 code1과 code2가 출력된다.





1
2
3
4
5
6
7
8
9
10
11
12
#python
input = 11
real = 11
if real == input:
    print("Hello!")
 
#ruby
input = 11
real = 11
if real == input
  puts("Hello!")
end
cs


좀 더 나아가서 조건문 다운 코드를 보도록 하자.

if문의 조건식에는 참과 거짓으로 반환되는 명제가 들어갈수 있다.

따라서 boolean 조건식의 사용이 가능하다.


위의 코드도 2개의 변수 내부에 있는 값을 비교해서 같다면 if문의 내부 코드를 출력하도록한다.

실제 코드에서도 이와 같은 코드가 많이 사용된다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#python
input = 11
real = 11
if real == input:
    print("Hello!")
else:
    print("Who are you?")
 
#ruby
input = 11
real = 11
if real == input
  puts("Hello!")
else
  puts("Who are you?")
end
cs


그렇다면 true이외에 false 일 때, 코드를 실행하기 위해서는 어떻게 해야할까?

true와 false를 구분해서 조건문을 작성해 주면 되는데, 이 때 사용하게 되는 것이 if-else 문이다.

만약 if의 조건식이 거짓이라면 실행되는 코드가 else문의 내부 코드이다.

이를 통해 로그인에서 사용자가 없거나 비밀번호가 틀렸을 때의 동작이 가능하게된다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#python
input = 33
real_egoing = 11
real_k8805 = "ab"
if real_egoing == input:
  print("Hello!, egoing")
elif real_k8805 == input:
  print("Hello!, k8805")
else:
  print("Who are you?")
 
#ruby
input = 33
real_egoing = 11
real_k8805 = "ab"
if real_egoing == input
  puts("Hello!, egoing")
elsif real_k8805 == input
  puts("Hello!, k8805")
else
  puts("Who are you?")
end
cs


마지막으로, ture false 로 이분되어지는 조건이 아니라,

여러개의 조건에 따라 실행되는 코드가 달라지게 하려면 어떻게 해야될까?

파이썬에서는 elif, 루비에서는 elsif를 사용한다.

이 때 if 와 마찬가지로 뒤쪽에 참 거짓을 판단할 조건식을 적어주면 된다.

이를 통해 여러가지 조건에 대한 처리가 가능해진다.




출처 : 생활코딩, 파이썬&루비


반응형

댓글