뒤죽박죽 데이터분석 일기장
[Python] 조건문, 반복문 본문
이번 포스트에서는 조건문, 반복문에 대해서 알아보려고 합니다.
조건문에 들어가기 앞서서 우리는 관계 연산자를 이해해야 합니다.
< Python 관계 연산자 >
a == b | a와 b가 같니? |
a!= b | a와 b가 다르니? |
a < b | a가 b보다 작니? |
a > b | a가 b보다 크니? |
a <= b | a가 b보다 작거나 같니? |
a >= b | a가 b보다 크거나 같니? |
조건문을 코딩할 때 해당 관계연산자 기호를 이용해 조건 구문이 True 인지 False이 인식해 실행 여부를 정할 수 있습니다.
1. If 조건문
새로운 input 구문을 이용해서 BMI 측정률 프로그램을 짜보겠습니다.
#input 구문으로 입력한 값은 문자열이기 때문에 int()로 숫자로 바꿔줍니다
#변수지정
height = int(input("키(cm)를 입력해주세요 : "))
weight = int(input("몸무게(kg)를 입력해주세요 : "))
BMI = weight/((height/100)**2)
우선, input() 함수를 통해서 입력값을 변수로 지정해 줍니다. 또한 BMI 변수를 생성해 공식을 생성해 줍니다.
조건문 안에 있는 조건이 만족할 시에는 idented 된 아래의 명령문이 실행되지만 해당되지 않는다면 다음 조건문으로 넘어갑니다.
if 조건문의 명령어는 if, elif, else로 나누어져 있습니다.
height = int(input("키(cm)를 입력해주세요 : "))
weight = int(input("몸무게(kg)를 입력해주세요 : "))
BMI = weight/((height/100)**2)
#항상 조건문의 실행어는 indentation이 되어있어야 합니다.
if (BMI <= 18.5) :
print("저체중입니다")
elif (18.5 < BMI < 22.9) :
print("정상입니다.")
elif (23 < BMI < 24.9):
print("과체중입니다.")
else :
print("비만입니다")
위의 코드를 실행시켰을 때 아래와 같은 결과값이 나오는 것을 확인할 수 있습니다.
2. For 조건문
#for 조건문의 가장 기본적은 형태
for i in range(10) :
print(i)
위 조건문 실행시 아래와 같이 실행된다.
모든 조건문에는 들여쓰기를 해야지 조건문 안에서 조건이 맞을 때 실행됩니다. 조건문 실행시 : 또한 신경써야 합니다.
이번에는 for 문을 가지고 직접 실습을 해보겠습니다. for 문을 가지고 랜덤 로또 생성기를 만들어 보겠습니다.
import random
numbers = range(1,46)
lotterynumber = []
for i in range(6) :
number = random.choice(numbers) #자연수 1부터 45까지 중에서 6번을 반복해줍니다.
str(number)
lotterynumber.append(number)
print("로또 번호는", lotterynumber , "입니다")
아래와 같은 결과값이 나옵니다.
for 조건문에서 range(6) 즉 0부터 5까지 6번의 loop가 돌아가는 동안에 아래의 해당되는 명령값들이 실행되어 랜덤으로 생성된
로또 번호를 lotterynumber이라는 빈 리스트에 집어넣었습니다.
Range 이해하기
# 100번 반복하기
for x in range(100) :
print("안녕하세요")
# range(시작숫자, 종료숫자) ; 시작숫자 ~ 종료숫자 3에서 30까지
for x in range(3,31):
print(x)
# range(시작숫자, 종료숫자, 스텝) ; 시작숫자 ~ 종료숫자, 스텝씩 증가 3에서 30까지 3씩 증가
for x in range(3,31,3):
print(x)
3. While 조건문
이번에는 While 조건문에 대해 알아보도록 하겠습니다.
While 조건문은 조건문이 True인 경우 명령어를 무한대로 반복시킬 수 있다는 특징을 가지고 있습니다.
while 10 < 100 :
print("10이 더 작다!")
이런식으로 코드를 입력하게 된다면 Terminal은 계속해서 "10이 더 작다!" 라는 구문을 무한대로 print 시킬 것입니다.
만약 코드를 잘못 입력해 무한루프 형태가 되었다면 "ctrl + c" 를 눌러서 탈출할 수 있습니다.
또한 명령문 뒤에 break라는 단어를 입력하면 멈출 수도 있습니다.
while 10 < 100 :
print("10이 100보다 작다!")
break
이런식으로 뒤에 break를 작성해 주면 10이 100보다 작아 조건이 True임에도 불구하고 "10이 100보다 작다!"라는 구문이 한 번 실행되고
break에 의해서 정지됩니다.
While 조건문을 작성할 때는 조건문 안에 있는 변수를 수정해주는 구문을 명령어 안에 적어놓는 것이 편리합니다.
i = 1
while i < 10 :
print("안녕")
i += 1 # i = i + 1 과 동일하다
i 값을 하나 씩 더해나가서 10 보다 같아지면 루프를 정지합니다.
While 조건문에서는 continue 라는 기능을 사용할 수 있습니다.
i = 0
while i < 10 :
i = i + 1
if i % 2 == 0 : #i가 2의 배수일 때는 아래의 명령어 -> print(i) 를 무시한채로 위의 루프로 올라간다.
continue
print(i)
print("반복 종료!")
간단하게 조건문들이 어떤식으로 사용하는 지 복습해 보았습니다.
'Python' 카테고리의 다른 글
[Python] [2일차] 데이터 Skill 비교, 연산자 (0) | 2023.01.03 |
---|---|
[Python] [1일차] 얕은복사, 깊은복사, 문자열 데이터 활용 (0) | 2023.01.02 |
[Python] [1일차] 변수선언, Data type (0) | 2023.01.02 |
[Python] 조건문 응용 (0) | 2022.12.23 |
[Python] List, Dictionary (0) | 2022.12.23 |