제어문
원하는 결과를 얻을 때 까지 어떤 조건이나 반복을 하는 명령문의 모임이다.
조건문에는 if가 있고 반복문에는 for, while 이 있다.
1 조건문
1. if
if 조건식:
참인 경우 실행하는 문장
범위지정은 다른언어와 다르게 {}로하지 않고 들여쓰기로 한다.
# 점수를 입력받아서 60점 이상이면 합격을 출력하는 프로그램을 만들어 보자.
1
2
3
4
5
6
7
|
score = int(input("점수를 입력하세요.>"))
result = score >= 60
print(type(result))
if result : # 조건이 true이면 실행, false면 실행X
print("합격")
print("잘하셨습니다.")
print("if문 끝")
|
cs |
점수를 입력하세요.>50
<class 'bool'>
if문 끝
>>>
결과
점수를 입력하세요.>60
합격
잘하셨습니다.
if문 끝
>>>
줄2에서 score 값이 60보다 크거나 같은 경우가 true 나 false값으로 입력된다.
따라서 type반환 시 'bool'형으로 나타나고 if문을 만나 값이 true면 if문 내의 문장을 실행후 빠져나가고 false면 if문 안의 문장을 실행하지 않고 통과한다.
따라서 50점을 입력했을때 줄2에서 60보다 크거나 같지 않기 때문에 false값으로 저장되며 if문을 만났을 때 if문 안으로 들어가지 못하고 줄7만 실행된다.
그리고 60점을 입력했을 때는 줄2에서 60보다 크거나 같기 때문에 true값으로 저장되며 if문을 만났을 때 if문 안의 내용이 실행되고 줄7이 실행된다.
# 점수를 입력받아서 90이상이면 수,80이상이면 우, 70이상이면 미
1
2
3
4
5
6
7
8
|
score = int(input("점수를 입력하세요.>"))
if score >= 90:
print("수")
if score >= 80:
print("우")
if score >= 70:
print("미")
print("if문 끝")
|
cs |
결과
점수를 입력하세요.>80
우
미
if문 끝
>>>
80을 score값으로 저장 후 줄2에서 조건을 충족하지 못하기 때문에 if문이 실행되지 못하고 줄4로 내려가 조건을 만족시켜 if문이 실행되고 줄6으로 내려가 조건을 충족시켜 내용이 실행된다. 그리고 줄8의 내용을 실행한다.
원래의 성적 프로그램은 해당되는 성적만을 출력해줘야 하는데 위 코드는 해당 성적 이하의 등급을 모두 출력하고 있다. 이를 보완할 방법을 앞으로 공부해보자.
2. if~else
if문과 else문 두가지 중 하나는 무조건 실행하는 조건문이다.
else는 if 없이 단독사용이 불가하며. if~else는 하나의 세트이다.
if 조건식:
참인 경우 실행하는 문장
else:
거짓인 경우 실행할 문장
# 나이를 입력받아서 버스요금을 계산하는 프로그램 작성
# 20세 미만 무료
1
2
3
4
5
|
age = int(input("나이 입력>"))
if age < 20:
print("무료")
else:
print("정상요금")
|
cs |
위와 같이 코드를 작성할 수 있다. 하지만 65세 이상의 노인의 경우도 버스요금은 무료이다.
이를 다음과 같이 코드로 고쳐줄 수 있다.
1
2
3
4
5
|
age = int(input("나이 입력>"))
if age < 20 or age >= 65:
print("무료")
else:
print("정상요금")
|
cs |
+ plus 논리연산자
and 연산자
: 두 연산중 하나라도 false면 결과 false 둘다 true면 true
or 연산자
: 두 연산 중 하나라도 true면 결과 true, 둘다 false면 false
3. elif
elif문은 if문 실행 후 if문 조건에 만족하지 않을 경우 elif문으로 들어가 elif문의 조건이 맞으면 실행, 아니면 다시 else문을 빠져나가게 된다. elif문도 else 문과 마찬가지로 if문 없이 단독사용은 불가하다.
if 조건식:
참인경우 실행
elif 조건식:
참인경우 실행
elif 조건식:
참인경우 실행
else :
위 조건이 모두 거짓인 경우 실행
# 나이를 입력받아서 버스요금을 계산하는 프로그램 작성
# 8세 미만, 65세 이상 무료!
# 8세 이상 13세 이하 500원
# 14세 이상 16세 이하 800원
# 17세 이상 19세 이하 1000원
# 20세 이상 정상요금
1
2
3
4
5
6
7
8
9
10
11
12
|
age = int(input("나이>"))
if age < 8 or age >=65:
print("무료")
elif age <= 13:
print("500원")
elif age <= 16:
print("800원")
elif age <= 19:
print("1000원")
else:
print("정상요금")
|
cs |
나이>30
정상요금
# 점치는 프로그램
# 당신의 고민? , 당신의 이름? 을 입력받음
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import random
name = input("이름")
q = input("고민을 입력>")
print(name,"님의 고민>",q)
print("잠시 기다리세요//")
print("점치는 중...")
s = random.randint(1,5)
if s == 1:
print("백프로 확신합니다.")
elif s == 2:
print("노력하면 될껄..?")
elif s == 3:
print("신력이 떨어졌다..\n다음에 다시오세요.")
elif s == 4:
print("죽기전엔 될껄..?")
elif s == 5:
print("믿으면 된다..")
|
cs |
이름>아무개
고민을 입력>파이썬을 마스터할 수 있을까요...?
아무개 님의 고민> 파이썬을 마스터할 수 있을까요...?
잠시 기다리세요//
점치는 중...
신력이 떨어졌다..
다음에 다시오세요.
>>>
+ plus 랜덤 클래스 (랜덤함수 사용)
임의의 수를 하나 뽑아주는 모듈(파일)이다.
>>> import random : random클래스를 import시킨다. import해주지 않으면 random클래스의 사용이 불가하다.
정수를 원하는 범위 내에서 뽑고자할 때 random.randint(시작수,끝수)로 입력해준다.
>>> random.randint(1,10)
10
>>> random.randint(1,10)
3
>>> random.randint(1,10)
2
>>>
'Python' 카테고리의 다른 글
[Python 기초] 파이썬 제어문 - 반복문 (for문) , range() 함수 (0) | 2021.04.01 |
---|---|
[Python 기초] 파이썬 제어문 - 반복문 (while, break) (0) | 2021.04.01 |
[Python 기초] 파이썬 자료형 - 딕셔너리(Dictionary) 함수 : keys(), values(), items() 와 in (0) | 2021.04.01 |
[Python 기초] 파이썬 자료형 - 딕셔너리(Dictionary) 생성, 추가, 삭제 (0) | 2021.03.31 |
[Python 기초] 파이썬 input() 연습문제 (0) | 2021.03.31 |
댓글