본문 바로가기
IT & 데이터 사이언스/Python

[Python] Python의 제어문(if, while, for문)

by 바른 호랑이 2024. 4. 19.
728x90
반응형

안녕하세요. 바른 호랑이입니다.

이번 게시글에서는 Python의 자료형에 대해 알아볼 예정입니다. 

 

- if 문

ㆍ주어진 조건을 판단 후 상황에 맞게 처리해야 할 경우 사용하는 구문(if 문이 필요한 경우 : "점수가 60점 이상이면 합격, 60점 미만이면 불합격을 준다.")

ㆍpython은 if문을 적용할 범위를 들여쓰기로 구분하기에 해당 부분을 반드시 맞춰줘야 하며, 들여 쓰기는 spacebar로 해도 되고 tab으로 해도 되지만 두 개를 혼용해서 쓰면 오류발생확률이 올라가므로 한 가지로 맞춰서 작성하는 것이 바람직함.

ㆍ조건문 사용시에는 반드시 :(콜론)을 붙여줘야 하며, 조건은 자료형의 참, 거짓 판별로 적용해도 되고, 연산자를 활용하여 비교 후 참 거짓을 판별하게 작성해도 됨.

ㆍelif문을 활용하여 다중 조건을 걸어줄 수도 있음.

연산자 설 명
< 미만
> 초과
== 같음
!= 같지 않음
>= 이상
<= 이하
or 둘 중 하나만 참이어도 참
and 둘 다 참이여야 참
not 따라오는 조건이 거짓이면 참
in (리스트, 튜플, 문자열) 변수가 (리스트, 튜플, 문자열)내부 요소중에 있으면 참
not in (리스트, 튜플, 문자열) 변수가 (리스트, 튜플, 문자열)내부 요소중에 없으면 참
score = 59
if score >= 60:
  print("합격")
else:
  print("불합격")

실행결과

money = 1
if money:
  print('택시를 타고')
    print('가자')

실행결과

# 다중 조건문
score = 80
if score >= 90:
  print('Grade: A')
elif score >= 80:
  print('Grade: B')
elif score >= 70:
  print('Grade: C')
else:
  print('Grade: D')

실행결과

 

- While 문

ㆍ반복해서 문장을 사용할 경우 사용할 수 있는 구문으로, 조건문이 참인 동안 while문에 해당되는 코드를 반복 수행하며 if문과 마찬가지로 들여 쓰기로 해당 내용을 구분함.

무한 Loop를 원하지 않는다면 반복문을 종료할 수 있게 종료조건을 설정해줘야함.

check_point=10

while check_point:
  print(f'{check_point}번째 코드 실행')
  check_point -= 1
  if check_point == 0:
    print('코드 실행을 종료합니다.')

실행결과

coffee = 10
money = 30000

while money >= 500:
  print('돈을 넣었습니다.')
  coffee -= 1
  money -= 500
  print(f'잔액 : {money} / 남은 커피의 수: {coffee}')
  if not coffee:
    print('커피가 다 떨어졌습니다. 판매를 중지합니다.')
    break

실행결과

# 조건에 맞지 않는 경우 아래 코드를 실행하지 않고 되돌아가도록 설정하기
a = 0

while a < 10:
  a += 1
  if a%2==0: # a를 2로 나눈 나머지가 0일 경우 아래 코드를 실행하지 않고 처음부터 재시작
    continue
    a += 3
  print(a)

실행결과

a = 0

while a < 10:
  a += 1
  if a%2==0: 
    a += 3
  print(a)

실행결과

 

- for 문

ㆍwhile문이 참과 거짓 유무 또는 break문을 활용하여 반복 횟수를 제어하는 구문이었다면, for문은 사전에 정해진 횟수만큼만 반복하게끔 하는 구문임.

# 전형적인 for문 
a = [1, 2, 3]

for i in a:
  print(i)

실행결과

scores = [90, 70, 55, 95, 30]
number = 0

for score in scores:
  number += 1
  if score < 60: # 조건을 충족하지 않을 경우 아래 코드를 실행하지 않고 처음부터 재시작
    continue
  print(f'{number}번 수험자 시험결과는 합격입니다. 축하합니다.')

실행결과

# range함수 활용
scores = [90, 70, 55, 95, 30]

for number in range(1, len(scores)+1):
  if scores[number-1] < 60: # 조건을 충족하지 않을 경우 아래 코드를 실행하지 않고 처음부터 재시작
    continue
  print(f'{number}번 수험자 시험결과는 합격입니다. 축하합니다.')

실행결과

# 구구단 작성
for i in range(1, 10):
  for j in range(1, 10):
    print(f'{i} x {j} = {i*j}', end=' / ')
  if j == 9:
    print(f'{i}단 종료')

실행결과

# for문을 활용한 리스트 생성
list_test = [i for i in range(10)]
print(list_test)

실행결과

 

728x90
반응형

댓글