반응형

 

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) 리스트 다루기

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 마르띤
,
반응형

(1) 변수 x에 5를 할당하고, 변수 y에 3을 할당한 후, 두 변수를 더한 값을 출력하는 코드를 작성하세요.

x = 5
y = 3
result = x + y
print(result)

 

(2) 사용자로부터 이름을 입력 받아 환영 메시지를 출력하는 코드를 작성하세요.

name = input("이름을 입력하세요: ")
print("안녕하세요, " + name + "님!")

 

(3) 1부터 10까지의 숫자 중에서 짝수만 출력하는 코드를 작성하세요.

for i in range(1, 11):
    if i % 2 == 0:
        print(i)

1. for 루프: for i in range(1, 11):은 1부터 10까지의 숫자를 반복하는 루프를 나타냅니다. range(1, 11)은 1부터 10까지의 범위를 생성합니다.

2. 짝수 확인: if i % 2 == 0:는 현재의 i가 짝수인지를 확인합니다. 여기서 %는 나머지를 계산하는 연산자이며, i % 2가 0이면 i는 짝수입니다.

3. 짝수 출력: 짝수인 경우에만 print(i)가 실행되어 현재의 i를 출력합니다.

 

(4) 주어진 리스트에서 최대값을 찾는 함수를 작성하세요.

# 정의
def find_max(lst):
    max_value = max(lst)
    return max_value

# 사용 예시
numbers = [3, 8, 1, 5, 10]
result = find_max(numbers)
print("최대값:", result)

1. 함수 정의: find_max 함수는 리스트를 받아 해당 리스트에서 최대값을 찾아 반환하는 함수입니다. 함수는 max 내장 함수를 활용합니다.

2. 사용 예시: numbers라는 리스트를 만들고, 이 리스트를 find_max 함수에 전달하여 최대값을 찾습니다.

3. 결과 출력: 최대값을 변수 result에 저장하고, 이를 화면에 출력합니다.

 

이 코드는 임의의 숫자 리스트에서 최대값을 찾는 함수를 정의하고, 이 함수를 사용하여 주어진 예시 리스트의 최대값을 찾아 출력하는 예시입니다. 함수를 활용하면 언제든지 다른 리스트에 대해서도 최대값을 쉽게 찾을 수 있습니다.

 

 

 

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

2024년에는 행복한 데이터 과학자 되세요!  :-)

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

1. 결측치 확인

import pandas as pd

# 데이터프레임 생성 (예시)
data = {'A': [1, 2, None, 4],
        'B': [None, 5, 6, 7],
        'C': [10, 20, 30, 40]}
df = pd.DataFrame(data)

# 결측값 확인
print(df.isnull())
print(df.isnull().sum())

 

2. 결측치 제거

1) 행 삭제

# 결측값이 있는 행 삭제
df = df.dropna()
df

2) 열 삭제

# 결측값이 있는 열 삭제
df = df.dropna(axis=1)
df

 

3. 결측치 대체

1) 평균값

# 평균값으로 대체
mean_value = df['A'].mean()
df_filled = df.fillna(mean_value)
df_filled

2) 중앙값 또는 최빈값

# 중간값(median)이나 최빈값(mode)으로 대체 가능
median_value = df['B'].median()
df_filled = df.fillna(median_value)
df_filled

3) 사전에 정의한 값

# 사전에 정의된 값으로 대체
df_filled = df.fillna({'A': 0, 'B': 1, 'C': 2})
df_filled

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

파이썬 코딩 실력을 한 단계 늘려줄 함수를 고른다면 단연컨데 for문을 고를 것이다.

for문은 반복적으로 뭔가 반복적인 계산을 수행할 때 사용하면 된다. 이것만 기억하면 된다. 반복은 컴퓨터가 사람보다 잘 한다는 것을!

 

1. 파이썬으로 2단 구구단 만들어보기

number = [1,2,3,4,5,6,7,8,9]
for i in number:
    print(2*i)

첫번째 줄: 먼저 number에 1부터 9까지의 숫자를 리스트에 담아 number라는 변수에 담아 줍니다. 이제 for문을 조합해 2단을 출력해볼 순서이다.

두번째 줄: numbers의 각 숫자 값 하나하나를 변수 i에 입력

세번째 줄: 2 * i의 결과값을 출력. 주의할 것은 for문이 적용되는 것을 알리기 위해 들여쓰기를 한 것이다.

 

위 코드를 돌리면 아래와 같은 결과값을 얻을 수 있다.

2
4
6
8
10
12
14
16
18

 

2. 파이썬으로 1부터 10까지 더해보기

num = 0 
for i in range(1,11):
    num = num +i
    print(num)

첫번째 줄: num이라는 변수에 0이라고 저장을 해 준다.

두번째 줄: range를 사용, 숫자 1~10을 i에 넣어준다. range(1,11)은 1~11이 아닌 1~10임을 기억하자

세번째 줄: num=0에서 i 그러니까 1부터 10을 차례대로 더해준다. 처음 num은 0 이므로 0 + 첫번째  i 값인 0+1의 결과값인 1을 적용한다. 그리고 나서는 새롭게 저장된 num 1에 두 번째 i 값인 2를 더해주어 3이라는 결과값을 얻는다.

네번째 줄: num의 결과값을 출력한다.

 

그러면 아래와 같은 결과값을 얻을 수 있다.

1
3
6
10
15
21
28
36
45
55

 

range가 나왔는데 조금 부연설명을 하면 아래와 같다. for와 range문은 늘 자주 쓰이는 것을 보게 될 것이다. 그도 그럴 것이 for문을 통해 반복할 숫자를 range를 통해 지정할 수 있기 때문! range(10)은 1~10이 아닌 0~9임을 기억하면 된다. for문이 적용될 print 는 들여쓰기를 하였고, i값에 0~9가 반복적으로 등장함을 볼 수 있다.

 

for i in range(10):
    print("Hello, world", i)
Hello, world 0
Hello, world 1
Hello, world 2
Hello, world 3
Hello, world 4
Hello, world 5
Hello, world 6
Hello, world 7
Hello, world 8
Hello, world 9
 

 

3. 파이썬으로 2단 구구단을 표현하되, 그 과정도 함께 출력하자

for i in range(1,10):
    print(2, 'x',i, '=', 2*i )

첫번째 줄: 먼저 range(1,10)을 이용, 1~9의 값을 i에 넣어준다.

두번째 줄: for문이 적용되어 들여쓰기를 하였고, 2 x i 를 프린트 한 후 결과값엔 2*i를 적용해준다. 그러면 아래와 같은 결과값을 얻을 수 있다.

2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18

 

4. 파이썬으로 구구단 2단, 3단 구해보기. for문 반복적으로 사용하기

for i in range(2,4):
    for j in range(1,10):
        print(i,'x',j,'=',i*j)

첫번째 줄: range(2,4)를 통해 2,3 값을 변수 i에 저장

두번째 줄: 들여쓰기를 한 후 숫자 1~9의 값을 또 다른 변수 j에 저장

세번째 줄: 2 * 1~9 , 그리고 3*1~9값을 반복한 후 프린트. 그 결과값은 아래와 같다.

2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27

 

for문의 가장 기초 of  기초 내용이다. for문을 잘 쓰면 크롤링을 하거나 머신 러닝 시 매우 유용하다. 크롤링 할 때 긁어오는 여러 페이지 값을 입력하지 않아도 되고, 머신러닝을 할 때 최적의 이웃값을 구할 때 반복적으로 n 값을 넣어주면서 최적의 결과값을 얻을 수 있기도 하다.

 

숙제로 2,3단 뿐만 아니라 9단까지 해보는 건 어떨지? 

반응형
Posted by 마르띤
,