
4. 선택 구조
【배우기】
엔트리로 해보자
파이선으로 해보자
선택 구조란 어떤 조건이나 상황에 따라 특정한 행동을 선택하는 것을 말한다. ‘만일 ~라면’이라는 조건이 참일 경우 A를 실행하고, 거짓일 경우 B를 실행한다’ 가 일반적인 선택 구조라고 할 수 있다.

1엔트리로 해보자

마룻바닥 오브젝트를 배경으로 추가한다.

로봇청소기(1) 오브젝트를 추가한다.

[예제코드]
① [시작] 꾸러미 - [시작하기 버튼을 클릭했을 때] 블록
② [흐름] 꾸러미 - [계속 반복하기] 블록
③ [움직임] 꾸러미 - [이동방향으로 O 만큼 움직이기] 블록
④ [이동방향으로 O 만큼 움직이기] 의 O에 10 입력하기


[예제코드]
① [흐름] 꾸러미 - [만일 참이라면] 블록
② [판단]꾸러미 - 벽에 닿았는가 블록을[만일 참이라면] 의 참에 삽입
③ [움직임] 꾸러미 - [이동방향을 O 만큼 움직이기] 블록
④ [이동방향으로 O 만큼 움직이기]의 O에 130도 입력하기






2파이선으로 해보자
if 조건:
명령1
명령2
elif:
명령3
명령4
else:
명령5
명령6
if 뒤에 흐름을 제어할 조건이 오게 되며, 그 뒤에 콜론(:)을 붙여준다.
if 조건 콜론(:) 뒤에 들여 쓰기로 이루어진 코드 블록이 옵니다. if문 뒤의 명령은 if문의 조건이 True일 경우 실행된다.
elif는 else if의 약자로 앞에 반드시 if가 있어야 한다. elif가 있을 경우 첫 번째 if 문을 확인해 조건을 충족하면 뒤의 elif는 확인하지 않고 넘어가서 효율적이다.
if 문의 조건이 False인 경우 else 콜론(:) 뒤의 명령이 실행된다.
파이선에서는 변수의 이름을 직접 지어줘야 하는데, 다음 규칙을 지켜서 지어야 한다.
a=int(input(“1~20사이의 정수를 입력해 주세요:”))
if a <10 :
print(“입력한 수는 10보다 작습니다.”)
else :
print(“입력한 수는 10보다 작지 않습니다.”)

> 4_1.py
1~20사이의 정수를 입력해주세요: 8
입력한 수는 10보다 작습니다.
> 4_1.py
1~20사이의 정수를 입력해주세요: 15
입력한 수는 10보다 작지 않습니다.
1행에서는 int(input( )) 함수를 사용해서 변수 a에 정수 입력 값을 받을 수 있도록 하였다. 입력하고 싶은 값은 출력할 경우 나타나는 콜론 옆에 입력하면 된다. 이때 int(input( )) 함수를 사용한 이유는 입력받은 값을 정수로 변환하여야만 수로 인식해서 비교가 가능하기 때문이다. input( ) 함수는 입력받은 값을 문자열로 전환하기 때문에 int(input()) 함수를 사용해서 입력받은 수를 정수 형태로 변환해야 하는 것이다.
3행에서 if를 사용하여 a가 10보다 작다는 조건을 만들었다. 입력받은 변수 a가 주어진 조건에 True인 경우 if 문 아래 들여 쓰기로 되어있는 행인 print(“입력한 수는 10보다 작습니다.”) 함수가 실행되지만 주어진 조건에 False인 경우 else 문 아래 들여쓰기 되어 있는 print(“입력한 수는 10보다 작지 않습니다.”)가 실행된다.
a=int(input(“정수를 입력해 주세요:”))
b=int(input(“정수를 입력해 주세요:”))
if a+b>10 :
print(“두 수의 합이 10보다 큽니다.”)
else :
print(“두 수의 합이 10보다 크지 않습니다.”)
c=int(input(“정수를 입력해 주세요:”))
d=int(input(“정수를 입력해 주세요:”))
if c>d :
print(“%d이(가) %d보다 큽니다.” % (c,d))
else :
if d>c :
print(“%d이(가) %d보다 큽니다.” % (d,c))
else :
print(“두 수는 같습니다.”)
1) 1~100사이의 정수를 입력받고, 입력받은 수가 10미만일 경우 “한 자릿수입니다.”, 10 이상 100미만일 경우 “두 자리 수입니다.”, 100일 경우 “세 자리 수입니다.”를 출력하도록 해 보자.
2) 1~100사이의 정수를 입력받고, 짝수일 경우에는 “짝수입니다.”를 출력하고, 그렇지 않을 경우에는 “홀수입니다.”를 출력하도록 해 보자.
3) 다음 코드의 결과 값은 무엇일까?
a = “지금까지 이런 프로그래밍 언어는 없었다. 이것은 언어인가 마술인가”
if ‘지금도’ in a:
print(‘지금도’)
elif ‘프로그래밍’ in a and ‘언어는’ not in a:
print(‘프로그래밍’)
elif ‘치킨’ not in a:
print(‘치킨’)
elif ‘언어인가’ in a:
print(‘언어인가’)
else:
print(‘꽝’)