파이썬 기초 - 조건식과 반복문

subinii·2024년 3월 13일

DS 25기

목록 보기
3/46

조건식과 조건문

조건식

  • 어떤 조건에 따라 실행이 분기 되는 식
  • A if 조건식 else B : 조건식의 결과가 Ture이면 A 실행, 그렇지 않으면 B 실행

조건문

  • 특정 조건에 따라 프로그램을 분기한다. (Ture / False)
    코드블럭, 들여쓰기로 작성

if 문 : 단일 조건

Ture일시 print 실행, False일시 아무것도 안나옴

EX)
if 10 > 5:
    print('10은 5보다 크다.')
=> 10은 5보다 크다. 

if ~ else 문 : 양자택일

조건식 결과에 따라 둘 중 하나가 실행됨

EX)
if myScore >= passScore:
	print ('PASS!')
else:
	print('FAIL!')

조건식(삼항연산자)의 두가지 사용법

if ~ elif 문 : 다자택일 (다중조건)

여러 가지 조건식 결과에 따라 실행문이 결정됨.

EX)
if exampleScore >= 90:
    grades ='A'
elif exampleScore >= 80:
    grades ='B'
elif exampleScore >= 70:
    grades = ('C')
elif exampleScore >= 60:
    grades = ('D')
else:
    grades = ('F')

주의할점

  • 조건식 순서가 중요하다. 순서가 뒤엉키면 오류
    • 조건 범위를 명시한다. (정확한 범위)

중첩 조건문

  • 조건문 안에 또 다른 조건문을 선언한다.
    (오류 때문에 3~4가지 중첩문은 사용하지 않음)
EX)
if exampleScore < 60:
    print('재시험 대상입니다.')
else:
    if exampleScore >= 90:
        print('A')
    elif exampleScore >= 80:
        print('B')
    elif exampleScore >= 70:
        print('C')
    elif exampleScore >= 60:
        print('D')

반복문

반복문 : 특정 실행을 반복하는 것 (효율적)
반복문을 사용하면 프로그래밍이 간결하고 유지 보수가 쉽다.
ex. 대량 메일 또는 문자 발송, 인사말 반복, mp3 반복 재생, 구구단 출력, 팩토리얼 등등

EX)
for i in range(1, 10):
    print('{} * {} = {}'.format(3, i, (3 * i)))

반복문 종류

1. 횟수의 의한 반복문

횟수 지정 -> 횟수만큼 반복 실행
ex) 대량 메일, 문자 발송, 인사말 반복 등등

  • for 문
    가독성이 더 좋음 (for) → for ~ in range():
  • range()
    반복 범위 설정 (range 함)
  • for i in range(1,11,2): ⇒ 1부터 10까지 2씩 증가
  • for i in range(1,11): ⇒ 1부터 10까지 1씩 증가 (1씩 증가하는 건 생략 가능)
  • for i in range(11): ⇒ 0부터 10까지 1씩 증가 (시작이 0인 경우 생략 가능)

2. 조건에 의한 반복문

조건 지정 -> 조건에 만족할 때까지 반복 실행
ex) 매일 아침 기상 알람, 타이머, 게임 반복 실행

while문

  • 조건에 맞지 않으면 반복을 중단
  • 조건식이 항상 트루라면 무한루프에 빠질 수 있음 (시스템 아웃됨)
0~10까지 출력
 endNum =10
 n = 0
 while n <= endNum:
     print(n)
     n += 1
7단 출력
 n = 1
 while n < 10:
     result = 7 * n
    print('{} * {} = {}'.format(7, n, result))
    n += 1

for문과 while문 비교

  • for문이 적합한 경우 : 횟수에 의한 반복일때
    - ex) 1~10까지의 합을 구하는 경우
  • while문이 적합한 경우 : 조건의 의한 반복일때
    - ex) 1부터 시작해서 7의 배수의 합이 50이상인 최초의 정수 출력

반목문 사용시 주의사항

  • 무한루프 : 반복문을 빠져 나올 수 없는 경우
    => while문에서 조건식의 결과가 항상 ture인 경우
  • 조건식에 논리형 데이터를 사용해서 무한 반복 실행할 수 있다. (flag)
  • if 문을 사용해 중단 가능
Q. 1000을 넘기는 숫자가 나올때까지의 합을 구해라
flag = True
num = 0
sum = 0
while flag:
    num += 1
    sum += num
    print('{}까지의 합 : {}'.format(num, sum))
    if sum >= 1000:
        flag = False

반복문 제어 키워드

  1. continue 키워드
  2. else 키워드
  3. breake 키워드

중첩 반복문

  • 중첩 반복문 : 반복문 안에 또 다른 반복문을 선언한다.
    • 너무 많은 반복문은 기하급수적으로 늘어나서 오류, 2단계가 적당함
ex)
for i in range(1, 10):
	for j in range(i)
    	print('*', end='')
    print()

단축키와 함수 요약

  • len() - 공백 포함 문자 길이 반환함
  • pass 키워드 : print 구문에 작성, 나중에 코딩하겠다는 뜻
  • str[0] : str에 저장된 문자열에서 첫 번째[0] 문자를 반환함
  • isdigit() : 숫자인지 확인 (숫자이면 T 아니면 F)
  • ',' = ,로 구분자 ~> 3자리씩 끊어서 읽음 ⇒ 문자로 인식
  • abs() : 절대값 구하는 함수
  • random : 난수를 발생시키는 모듈 => random.randint()
  • 선택사항과 조건이 많을땐 중첩문 사용
  • find() : 특정 문자열의 위치를 찾아 반환함

“이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”

profile
데이터 공부 기록

0개의 댓글