QCQA_1기

TIL_2W3D_데이터 분석 파이썬 종합반 3주차(조건문,반복문)

story3395 2024. 12. 26. 11:16

[조건문] - if/elif/else

: 파이썬의 조건문은 프로그램의 흐름을 제어하는 중요한 요소 중 하나

  • 특정 조건이 참(True)인 경우에만 특정 코드 블록을 실행하도록 함
  • 파이썬에서 조건문은 if, elif(else if), else 키워드를 사용하여 구성
  • 조건문은 들여쓰기와 띄어쓰기가 중요!
  • 조건문은 중첩하여 사용 가능 (첨부 사진 참고)
  • 조건문을 한 줄로도 표현 가능 (첨부 사진 참고)
if 조건:
    # 조건이 참일 때 실행될 코드
elif 다른조건:
    # 다른 조건이 참일 때 실행될 코드
else:
    # 위의 조건이 모두 거짓일 때 실행될 코드

 

x = 10
if x > 0:
  print("양수입니다.")
elif x < 0:
    print("음수입니다.")
else:
    print("0입니다.")

 

* 조건문에서 많이 사용되는 연산자

> : 초과
< : 미만
>= : 이상
<= : 이하
== : 같음
!= : 같지 않음
or : 하나 이상이 참일 때 참
not : 조건을 부정

 

조건문 연습

 

[반복문] - for

: 파이썬의 for 반복문은 데이터 분석 및 다른 프로그램 작업에서 매우 유용

for 변수 in 반복할_데이터:
    코드_블록

* 반복할_데이터는 리스트, 튜플, 문자열과 같은 반복 가능한 데이터 타입

* 변수는 각 반복마다 현재 값을 가지는 변수(다른 변수를 사용할 시, 원하는 결과 값이 제대로 나오지 않음)

for 반복문

 

*반복할 데이터로 range()가 오는 경우

range(): 연속된 정수를 생성하는 데 사용되는 내장 함수

  • 시작값(start), 끝값(stop), 증가값(step)을 인자로 받아 사용
  • start: 순차적인 정수 시퀀스의 시작 값. 이 값은 생략 가능하며, 기본값은 0
  • stop: 순차적인 정수 시퀀스의 끝 값. 이 값은 필수적으로 지정. 단, 실제로 생성되는 마지막 숫자는 이 값보다 작음.
  • step: 각 숫자 사이의 간격. 이 값은 생략 가능하며, 기본값은 1.
# 1부터 시작하여 10 이전까지 2씩 증가하는 정수 시퀀스 생성
for i in range(1, 10, 2):
    print(i, end=' ')

# 출력: 1 3 5 7 9
# range (1,10)이므로, 10 이전의 숫자인 9까지 출력함! 대신에 2 간격으로 출력

 

반복문 (range())
for 반복문 예시

result += char 의미

: result = result + char

반복문 활용 예시-for

 

 

[반복문] - while

: 파이썬의 반복문 중 하나인 while문은 조건을 만족하는 동안 코드 블록을 반복적으로 실행

  • while문은 특정-조건이 참(True)일 때에만 실행되며, 조건이 거짓(False)이 될 때까지 실행
while 조건:
    코드_블록

*여기서 "조건"은 불리언(boolean)값(True or False)를 반환하는 표현식

*조건이 True로 평가될 때까지 코드블록이 반복적으로 실행

 

while 반복문 연습

 

조건인 i <=5 가 True 일 때까지만 코드블록이 실행되므로,

i가 5보다 커졌을 때는 코드블록이 실행되지 않는다!

 

 

input에 hahaha , Yuna 처럼 quit가 아닌값을 입력했을 때는 코드블록이 계속 실행이되며, quit를 입력했을 때는 더이상 코드블록이 실행되지 않는다!

 

  • 반복문에는 break, pass, continue와 같이 특정 조건에 따라 반복 동작을 제어할 제어문을 함께 사용
  • break, pass, continue
# 사용자가 'quit'을 입력할 때까지 반복하여 숫자를 입력받고 합을 출력
total = 0
while True:
    num = input("숫자를 입력하세요 (종료하려면 'quit' 입력): ")
    if num == 'quit':
        break
    total += int(num)

print("합:", total)

 

# 홀수를 출력하는 코드에서 짝수일 경우에는 아무 작업도 수행하지 않고 넘어감
numbers = [1, 2, 3, 4, 5]
for num in numbers:
    if num % 2 == 0:
        pass
    else:
        print(num, "은 홀수입니다.")

 

# 1부터 10까지의 숫자 중 짝수를 출력
num = 0
while num < 10:
    num += 1
    if num % 2 == 1:
        continue
    print(num)

 

반복문 활용 예시 - while

 

 

 

[Quiz]

1. 다음 중 파이썬에서 사용되는 비교 연산자가 아닌 것은?

a) == b) != c) <= d) ><

 

답: d

 

2. 임의의 수를 변수에 넣고 그 변수에 입력된 수가 양수인지 음수인지 판별하여 결과를 출력하는 파이썬 코드를 작성해보세요. (0은 양수로 간주합니다)

 

답:

 

3. 다음 코드의 출력 결과는 무엇인가요? (코드를 치지 않고도 한번 맞춰 보세요!)

numbers = [1, 2, 3, 4, 5]
for num in numbers:
    if num % 2 == 0:
        print(num)

 

답: b,d

 

4. 1부터 10까지의 정수 중에서 홀수만을 포함하는 리스트를 생성하는 파이썬 코드를 작성해보세요

 

답:

 

5. 다음 중 무한 루프를 탈출하는 방법이 아닌 것은?

a) break문 사용

b) continue문 사용

c) 조건문에서 False가 되도록 설정

d) return문 사용

 

답: d

 

6. 종합 퀴즈(조건문과 반복문 모두 이용하기)

 

1부터 100까지의 정수 중에서 3의 배수일 때 "Fizz", 5의 배수일 때 "Buzz"를 출력하세요.

(나머지 경우에는 그냥 숫자를 출력합니다)

 

답: