반응형

 

if-else 문은 프로그램에서 조건에 따라 다른 동작을 수행해야 할 때 사용됩니다. 여러 가지 상황에서 if-else 문이 유용하게 쓰입니다.

 

(1) 조건부 실행: 특정 조건이 참일 때는 한 블록의 코드를 실행하고, 거짓일 때는 다른 블록의 코드를 실행하도록 할 때 사용됩니다.

if condition: # 조건이 참일 때 실행되는 코드 

else: # 조건이 거짓일 때 실행되는 코드

 

(예시)

# 숫자 입력
number = float(input("숫자를 입력하세요: "))

# 조건부 실행
if number > 0:
    print("입력한 숫자는 양수입니다.")
else:
    print("입력한 숫자는 음수 또는 0입니다.")

 

[결과값]

숫자를 입력하세요: 10
입력한 숫자는 양수입니다.

위 코드에서 if 문은 사용자가 입력한 숫자가 양수인지를 판별하고, 조건이 참일 경우 "입력한 숫자는 양수입니다."를 출력합니다. 만약 조건이 거짓이라면 else 블록이 실행되어 "입력한 숫자는 음수 또는 0입니다."를 출력합니다.

 

 

(2) 둘 중 하나 선택: 두 가지 중 하나의 옵션을 선택하고자 할 때 사용됩니다.

if option == "A":
    # A를 선택한 경우 실행되는 코드
else:
    # A 이외의 경우 (즉, B를 선택한 경우) 실행되는 코드

 

(예시)

# 정수 입력
number = int(input("정수를 입력하세요: "))

# 둘 중 하나 선택
if number % 2 == 0:
    print("입력한 정수는 짝수입니다.")
else:
    print("입력한 정수는 홀수입니다.")

 

[결과값]

정수를 입력하세요: 10
입력한 정수는 짝수입니다.

이 코드에서 if 문은 사용자가 입력한 정수가 짝수인지를 판별하고, 조건이 참일 경우 "입력한 정수는 짝수입니다."를 출력합니다. 만약 조건이 거짓이라면 else 블록이 실행되어 "입력한 정수는 홀수입니다."를 출력합니다.

 

 

(3) 범위 지정: 조건에 따라 여러 범위 중 하나를 선택하고자 할 때 사용됩니다.

if value < 0:
    # 음수인 경우
elif value == 0:
    # 0인 경우
else:
    # 양수인 경우

 

(예시)

# 점수 입력
score = float(input("점수를 입력하세요: "))

# 범위 지정
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'F'

# 학점 출력
print(f"입력한 점수에 대한 학점은 {grade}입니다.")

 

[결과값]

점수를 입력하세요: 85
입력한 점수에 대한 학점은 B입니다.

elif라는 코드가 출현하였는데, elif는 "else if"의 줄임말로, 여러 개의 조건을 순차적으로 검사하는 데 사용되는 파이썬의 코드입니다. if 문이 거짓인 경우에만 실행되며, 새로운 조건을 검사합니다. 여러 elif 블록을 사용하여 여러 개의 조건을 처리할 수 있습니다.위 코드에서 if-elif-else 문은 사용자가 입력한 점수에 따라 다양한 범위를 지정하고, 해당하는 학점을 출력합니다. 만약 입력한 점수가 90 이상이면 'A', 80 이상이면 'B', 70 이상이면 'C', 60 이상이면 'D', 그 이하이면 'F'를 부여합니다. 저는 점수를 85점으로 부여하였고 학점 B를 출력하였습니다.

 

 

 

(4) 예외 처리: 특정 조건에 따라 예외 상황을 처리하고자 할 때 사용됩니다.

if error_condition:
    # 예외 상황 처리 코드
else:
    # 일반적인 코드

 

(예시)

# 숫자 입력
try:
    number = float(input("숫자를 입력하세요: "))
    
    # 입력한 숫자 출력
    print("입력한 숫자:", number)

# 예외 처리
except ValueError:
    print("유효한 숫자가 아닙니다. 다시 시도하세요.")

 

[결과값]

숫자를 입력하세요: a
유효한 숫자가 아닙니다. 다시 시도하세요.

이 코드에서 try 블록 안에서는 사용자로부터 숫자를 입력받고, 입력받은 숫자를 출력하려고 시도합니다. 그러나 만약 유효한 숫자가 아닌 다른 값을 입력하면 ValueError가 발생하게 됩니다. 이때 except 블록으로 이동하여 해당 예외를 처리하고 메시지를 출력합니다. a를 예시로 입력하였고 '유효한 숫자가 아니다'라는 출력값을 얻었습니다.

 

 

이번 포스팅도 파이썬 공부에 많은 도움이 되었기를 바랍니다. :-)

반응형
Posted by 마르띤
,
반응형

(1) boxplot은 왜 쓸까?

박스 플롯(Box Plot)은 통계적 데이터의 요약된 시각화 도구로, 데이터의 중앙 경향, 분포, 이상치를 효과적으로 보여주는 차트입니다. 다른 이름으로는 상자 수염 그림(Box-and-Whisker Plot)이라고도 불립니다. 박스 플롯은 다음과 같은 주요 구성 요소로 이루어져 있습니다:

 

1. 상자 (Box):

- 상자의 하단 변은 데이터의 1사분위수(Q1)를 나타냅니다.

- 상자의 상단 변은 데이터의 3사분위수(Q3)를 나타냅니다.

- 상자의 중앙에 수평선은 데이터의 중앙값(median)을 나타냅니다.

 

2. 수염 (Whiskers):

- 수염은 데이터의 최솟값과 최댓값을 나타냅니다. 일반적으로 1.5배의 사분위 범위(IQR)를 벗어나는 값은 이상치로 간주됩니다.

 

3. 이상치 (Outliers):

- 수염 부분을 벗어나는 점은 이상치로 간주됩니다.

 

박스 플롯은 데이터의 분포를 쉽게 이해하고, 여러 그룹 간의 비교를 통해 통계적 특성을 시각적으로 비교할 수 있는 강력한 도구입니다. 특히, 중앙값과 사분위수를 통해 데이터의 중심 경향과 분포를 한눈에 파악할 수 있어 다양한 분야에서 널리 사용되고 있습니다.

 

(2) boxplot 한 개를 그려보자

# 라이브러리 불러오기
import matplotlib.pyplot as plt
import numpy as np

# 예제 데이터 생성
np.random.seed(10) # 난수 생성 시드 설정
data = np.random.normal(0, 1, 100) # 평균이 0이고 표준 편차가 1인 정규 분포에서 100개의 데이터 생성

# 그래프 사이즈 조정
fig = plt.figure(figsize =(10, 7))

# 박스 플롯 그리기
plt.boxplot(data)

# 그래프 표시
plt.show()

 

[결과값]

위 코드를 실행하면 평균이 0이고 표준 편차가 1인 정규 분포에서 생성된 데이터에 대한 박스 플롯이 그려진 그래프 창이 표시됩니다. 

 

(3) boxplot 여러 개를 그려보자

# 라이브러리 불러오기
import matplotlib.pyplot as plt
import numpy as np

# 예제 데이터 생성
np.random.seed(10)

data_1 = np.random.normal(10, 5, 100)
data_2 = np.random.normal(9, 10, 100)
data_3 = np.random.normal(8, 15, 100)
data_4 = np.random.normal(7, 20, 100)
data = [data_1, data_2, data_3, data_4]

# 그래프 사이즈 및 간격 조정
fig = plt.figure(figsize =(10, 7))
ax = fig.add_axes([0, 0, 1, 1])

# 박스 플롯 그리기
bp = ax.boxplot(data)

# 그래프 표시
plt.show()

 

[결과값]

네 개의 상자 플롯이 그려져 있으며, 각각의 상자 플롯은 다른 그룹에 해당합니다. 각 그룹의 중심 경향과 분포를 나타내기 위해 상자의 위치와 크기가 다릅니다. 그래프 상단의 표시는 각 그룹의 중앙값(median)을 나타냅니다. 수염은 각 그룹의 데이터의 전체 분포를 나타냅니다. 이상치가 몇몇 그룹에 존재합니다.

 

이번 포스팅이 파이썬 공부에 작은 도움이 되었기를 바랍니다.

반응형
Posted by 마르띤
,
반응형

(1) 리스트 다루기

fruits = ["사과", "바나나", "딸기", "포도"]
print("과일 목록:", fruits)

 

[결과값]

과일 목록: ['사과', '바나나', '딸기', '포도']

 

파이썬 리스트는 순서가 있는 데이터의 컬렉션으로, 여러 값을 담을 수 있는 가변(mutable)한 자료형입니다. 리스트는 대괄호 []를 사용하여 정의되며, 각 항목은 콤마 ,로 구분됩니다.

 

(2) 딕셔너리 활용하기

student = {"이름": "철수", "나이": 15, "성적": 90}
print("학생 정보:", student)

 

[결과값]

학생 정보: {'이름': '철수', '나이': 15, '성적': 90}

 

리스트는 순수가 있는 데이터의 컬렉션으로 각 항목은 콤마로 구분. 딕셔너리는 순서가 없는 데이터의 컬렉션으로 각 항목은 키와 밸류의 한 상으로 구분, 중괄호를 사용하고, 각 쌍은 콤마로 구분된다.

 

(3) 제곱근

import math

result = math.sqrt(25)
print("제곱근:", result)

 

[결과값]

제곱근: 5.0

 

(4) 예외처리

try:
    result = 10 / 0
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

 

[결과값]

0으로 나눌 수 없습니다.

 

1.    try 블록:

-       try 키워드 아래의 블록은 예외가 발생할 수 있는 코드를 포함합니다.

-       여기서는 10 / 0이라는 수식이 있습니다. 이는 0으로 나누는 연산으로, 이는 ZeroDivisionError 예외를 발생시킵니다.

 

2.    except 블록:

-       except 키워드는 try 블록에서 발생한 예외를 처리하기 위한 블록을 나타냅니다.

-       ZeroDivisionError 0으로 나누려고 할 때 발생하는 예외입니다. 이 예외가 발생하면 해당 블록이 실행됩니다.

-       여기서는 예외가 발생했을 때 출력할 메시지를 print("0으로 나눌 수 없습니다.")로 지정했습니다.

 

3.    실행 흐름:

-       try 블록의 코드가 실행됩니다.

-       예외가 발생하면 프로그램의 흐름이 except 블록으로 이동하고, 지정된 메시지가 출력됩니다.

-       예외가 발생하지 않으면 except 블록은 건너뛰어집니다.

 

 

이 코드는 0으로 나누는 오류에 대한 처리를 담고 있습니다. 예외 처리를 통해 프로그램이 비정상적인 상황에서도 적절히 대응할 수 있도록 도와줍니다.

 

try:
    result = 10 / 2
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

 

예외가 발생하지 않으므로 except 블록은 건너뛰어지고 아무 결과값도 나오지 않는다.

 

이번 포스팅이 많은 파이썬 공부에 작은 도움이 되었기를 바랍니다. 

반응형
Posted by 마르띤
,