조건문 기초
기본 제어구조
- 순차 구조
- sequential execute
- 선택 구조
- 분기
- 반복 구조
- 순환
조건문이 필요한 이유
- 실생활에서의 분기 처리
- 카드 결제 처리
- 시험 합격 여부 판별
조건문 구조
if
- 순서도에서 마름모로 표현
- 실행문 indent(띄어쓰기 4칸) 적용
if 조건식 :
실행문
if~else
- 거짓일 때의 실행문이 있을 때 사용
중첩 if
- if~else 3회 이상 중첩 권장 X
- 대안1. 함수로 분리하는 방법
- 대안2.
elif
elif
Random 함수 활용 예시 ```python import random # 임의 순열 생성, 중복 없는 무작위 표본 추출
#실수 random.random()
#정수 random.randint(from, to) random.range(from, to[, step])
#시퀀스 random.choice(seq) #시퀀스 내부 임의 요소 반환 random.shuffle(seq) #제자리 섞기
---
## 반복문
### for문 기초
- `for 변수 in range([start,] cnt[, step])`
- `for i in seq`
### for문 활용
- 기획 과정에 `pseudocode` 작성
- 누적 값 계산
- <span style="background:#d3f8b6">초기화 필수</span>
```python
for i in range (1,10):
sum +=i
#NameError: name 'sum' is not difined
중첩 for문
- 구구단
for i in range(2,10):
print(i,"단 출력")
for j in range(1,10):
print(i,"*",j,"=",i*j)
while
- 반복 횟수가 명확하지 않고 조건식이 참인 경우 반복 (vs. for문은 반복 횟수 지정)
- 가위바위보 게임
- 질 수 있는 기회 3번
- 가위바위보 게임
import random
win=0
lose=0
while lose<3:
p1 = int(input("주먹=0, 가위=1, 보=2"))
p2 = random.randint(0,10000)%3
if p1 == p2:
print("비겼습니다. 다시 입력해주세요")
elif (p2-p1==1)or((p1==2)and(p2==0)) :
print("상대는",p2,"이겼습니다! 축하합니다")
win += 1
else:
print("상대는",p2,"졌습니다.")
lose += 1
print("총",win,"회 이겼습니다")
무한 루프 조건이 true로 지정되어 있을 때 무한 반복
- ex.콘센트가 뽑힐 때까지 전기 밥솥의 온도 유지
break 반복문 실행 중단
continue 반복문 실행 제외