728x90
반응형

 티스토리 

파이썬에서의 소수점 버림

안녕하세요! 오늘은 파이썬에서의 소수점 버림에 대해 알아보겠습니다. 소수점 이하의 값을 정수로 만들거나 특정 자릿수에서 반올림하는 등 다양한 방법이 있습니다. 시작해보죠! 

1. round() 함수 사용하기

number = 3.75
rounded_number = round(number)
print(rounded_number)
이 코드는 4를 출력합니다. 기본적으로 round() 함수는 가장 가까운 짝수로 반올림합니다.

 

2. int() 함수 사용하기

number = 3.75
int_part = int(number)
print(int_part)
이 코드는 3을 출력합니다. int() 함수는 간단하게 소수점 이하를 제거하는 데 유용합니다.

 

3. math.floor() 함수 사용하기

math.floor() 함수는 항상 내림을 수행합니다.

import math

number = 3.75
floor_number = math.floor(number)
print(floor_number)
이 코드는 3을 출력합니다. math.floor() 함수는 입력 값보다 작거나 같은 가장 큰 정수를 반환합니다.

 

4. math.trunc() 함수 사용하기 

math.trunc() 함수는 0 방향으로 버림을 수행합니다.

import math

number = 3.75
truncated_number = math.trunc(number)
print(truncated_number)
이 코드는 3을 출력합니다. math.trunc() 함수는 소수점 이하를 단순히 제거합니다.

사용 시 주의사항
소수점을 다룰 때 부동소수점 연산의 한계를 이해하고 있어야 합니다. 때로는 정확한 결과를 얻기 위해 decimal 모듈을 사용하는 것이 좋습니다.

이렇게 파이썬에서 소수점을 버리는 여러 가지 방법을 알아보았습니다. 각 함수의 특징을 이해하고 적절히 활용하여 원하는 결과를 얻을 수 있습니다.

마무리

- 이번 포스팅은 파이썬 소수점 버림에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

파이썬에서의 소수점 버림

안녕하세요! 오늘은 파이썬에서의 소수점 버림에 대해 알아보겠습니다. 소수점 이하의 값을 정수로 만들거나 특정 자릿수에서 반올림하는 등 다양한 방법이 있습니다. 시작해보죠! 

1. round() 함수 사용하기

number = 3.75
rounded_number = round(number)
print(rounded_number)
이 코드는 4를 출력합니다. 기본적으로 round() 함수는 가장 가까운 짝수로 반올림합니다.

 

2. int() 함수 사용하기

number = 3.75
int_part = int(number)
print(int_part)
이 코드는 3을 출력합니다. int() 함수는 간단하게 소수점 이하를 제거하는 데 유용합니다.

 

3. math.floor() 함수 사용하기

math.floor() 함수는 항상 내림을 수행합니다.

import math

number = 3.75
floor_number = math.floor(number)
print(floor_number)
이 코드는 3을 출력합니다. math.floor() 함수는 입력 값보다 작거나 같은 가장 큰 정수를 반환합니다.

 

4. math.trunc() 함수 사용하기 

math.trunc() 함수는 0 방향으로 버림을 수행합니다.

import math

number = 3.75
truncated_number = math.trunc(number)
print(truncated_number)
이 코드는 3을 출력합니다. math.trunc() 함수는 소수점 이하를 단순히 제거합니다.

사용 시 주의사항
소수점을 다룰 때 부동소수점 연산의 한계를 이해하고 있어야 합니다. 때로는 정확한 결과를 얻기 위해 decimal 모듈을 사용하는 것이 좋습니다.

이렇게 파이썬에서 소수점을 버리는 여러 가지 방법을 알아보았습니다. 각 함수의 특징을 이해하고 적절히 활용하여 원하는 결과를 얻을 수 있습니다.

마무리

- 이번 포스팅은 파이썬 소수점 버림에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

 

Google Colab~

안녕하세요! 오늘은 데이터 과학과 머신러닝 프로젝트를 진행하는 데에 도움이 되는 구글 코랩에 대해 알아보겠습니다. 구글 코랩은 클라우드 기반의 Jupyter 노트북 환경을 제공하여 코드 작성, 실행, 분석 및 공유를 손쉽게 할 수 있는 강력한 도구입니다. 

1. 코랩 소개
구글 코랩은 브라우저에서 바로 Python 코드를 작성하고 실행할 수 있는 환경을 제공합니다. 다양한 패키지와 라이브러리를 미리 설치해두어 데이터 분석, 머신러닝, 딥러닝 등 다양한 작업에 적합합니다.

2. 시작하기
2.1 계정 설정
먼저, 구글 계정이 필요합니다. Google Colab 웹 페이지에 접속하여 계정으로 로그인하세요.

2.2 노트북 생성
"파일" 메뉴에서 "새 Python 3 노트"를 선택하여 새 노트북을 만들 수 있습니다.

3. 기능 탐험
3.1 코드 실행
각 셀에 코드를 작성하고 실행할 수 있습니다. 라이브러리 설치, 데이터 로딩, 모델 훈련 등의 작업을 여기서 진행합니다.

3.2 하드웨어 가속 선택
"런타임" 메뉴에서 "런타임 유형 변경"을 통해 GPU나 TPU를 사용하여 모델 훈련 속도를 높일 수 있습니다.

3.3 데이터 시각화
Matplotlib, Seaborn, Plotly 등의 라이브러리를 활용하여 데이터를 시각화할 수 있습니다.

4. 저장 및 공유
4.1 저장
노트북은 구글 드라이브에 자동으로 저장되며, "파일" 메뉴에서 "드라이브에 사본 저장"을 통해 직접 저장할 수 있습니다.

4.2 공유
노트북은 링크를 통해 다른 사용자와 쉽게 공유할 수 있습니다. "공유" 버튼을 클릭하여 공유 설정을 할 수 있습니다.

5. 확장된 활용
5.1 외부 데이터 로딩
구글 드라이브, Google Cloud Storage, GitHub 등에서 데이터를 불러와 활용할 수 있습니다.

5.2 TensorFlow 및 PyTorch 통합
딥러닝 프레임워크인 TensorFlow와 PyTorch를 지원하여 복잡한 모델의 훈련도 가능합니다.

2. 평가

간단한 소개를 통해 구글 코랩을 시작하는 데 필요한 기본적인 정보를 제공했습니다. 코랩을 통해 데이터 과학과 머신러닝 프로젝트를 보다 효율적으로 진행할 수 있기를 바랍니다.

마무리

- 이번 포스팅은 구글 코랩(colab) 온라인 웹기반 파이썬 컴파일러에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

인기 있는 온라인 파이썬 컴파일러를 소개합니다.

여러 온라인 파이썬 컴파일러 중에서 선택할 수 있습니다.

Repl.it (https://replit.com/):

다양한 언어를 지원하는 온라인 개발 환경으로, 파이썬도 지원합니다.
사용자 친화적이며 편리한 인터페이스를 제공하며, 다른 사용자들과 협업도 가능합니다.
OnlineGDB (https://www.onlinegdb.com/online_python_compiler):

다양한 언어를 지원하는 온라인 개발 플랫폼으로, 파이썬 컴파일러도 포함되어 있습니다.
사용하기 쉽고, 코드 디버깅을 지원하는 등 다양한 기능을 제공합니다.
PythonAnywhere (https://www.pythonanywhere.com/):

온라인에서 파이썬 코드를 작성하고 실행하는 플랫폼입니다.
웹 브라우저를 통해 파이썬 코드를 작성하고 바로 실행할 수 있습니다.
JDoodle (https://www.jdoodle.com/python-online-compiler):

다양한 언어의 온라인 컴파일러를 제공하는 플랫폼 중 하나입니다.
파이썬 코드를 작성하고 실행할 수 있는 간단한 환경을 제공합니다.
Glitch (https://glitch.com/):

다양한 언어를 지원하는 플랫폼으로, 파이썬 코드를 작성하고 실행할 수 있습니다.
팀 협업 및 코드 공유 기능도 갖추고 있습니다.

1. 평가

  이러한 온라인 파이썬 컴파일러들은 각자의 특징을 가지고 있으므로, 프로젝트나 개발 목적에 맞게 선택하시면 좋습니다. 사용자 경험, 기능, 협업 기능, 그리고 안전성 등을 고려하여 선택하시면 됩니다.

마무리

- 이번 포스팅은 파이썬 온라인 컴파일러에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

 

페이지 추가하기

Flask 웹페이지에서 페이지를 추가하는 방법

1. 코드리뷰

 

from flask import Flask, send_from_directory
from flask import abort
app = Flask(__name__)

@app.route('/favicon.ico')
def favicon():
    try:
        return send_from_directory('static', 'favicon.ico', mimetype='image/vnd.microsoft.icon')
    except FileNotFoundError:
        abort(404)


# Your existing routes
@app.route('/')
def home():
    return 'Welcome to the Home Page!'

@app.route('/about')
def about():
    return 'This is the About Page.'

@app.route('/user/<username>')
def show_user_profile(username):
    return f'User {username}'

if __name__ == '__main__':
    app.run(debug=True, port=5000)

에러 핸들링 추가:
현재 코드에서는 정적 파일(favicon.ico)을 찾을 수 없는 경우에 대한 예외 처리. 파일이 존재하지 않을 때의 에러에 대한 핸들링을 추가하는 것이 좋습니다.

python
Copy code
from flask import abort

@app.route('/favicon.ico')
def favicon():
    try:
        return send_from_directory('static', 'favicon.ico', mimetype='image/vnd.microsoft.icon')
    except FileNotFoundError:
        abort(404)
이렇게 하면 파일이 없는 경우 404 오류를 반환합니다.

favicon.ico 위치 이동:
보통 파비콘은 static 폴더에 위치시키는 것이 일반적입니다. 코드에서도 send_from_directory를 사용하고 있으므로 파일을 static 폴더로 이동시키면 더 일관성 있습니다.

/your_project
├── app.py
├── static
│   └── favicon.ico
코드에서도 send_from_directory('static', 'favicon.ico', ...)로 설정해두었기 때문에 실제 파일 위치와 맞추는 것이 좋습니다.

플라스크 애플리케이션 설정:
플라스크 애플리케이션의 디버그 모드와 포트 설정은 외부에 노출될 때에만 사용되어야 합니다. 실제로 배포할 때는 디버그 모드를 비활성화하고, 포트 번호를 변경하는 것이 보안적으로 더 안전합니다.

마무리

- 이번 포스팅은 Flask 웹에 페이지 추가 및 favicon 아이콘 추가에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

 

Flask 라이브러리 기초 1

먼저 간단히 출력하는 코드로 연습해보자~
시작하기 앞서 pip install flask로 라이브러리 설치부터 하자.

1. 코드리뷰

from flask import Flask

app = Flask(__name__)

@app.route('/')
def start_hello():
    return "Hello World"

if __name__ == '__main__':
    app.run(debug=True, port=5000)  # 포트를 변경하여 충돌을 피하고, 디버그 모드를 유지하거나 비활성화합니다.

 - 포트 번호 80 사용 주의: 포트 번호 80은 일반적으로 웹 서버에서 사용되는 기본 포트입니다. 그러나 일반적으로 특별한 권한 없이는 1024번 이하의 포트를 사용할 수 없습니다. 만약 권한이 없는 사용자로서 실행된다면, 포트 80을 사용하려고 시도하면 에러가 발생할 수 있습니다. 일반적으로 개발 환경에서는 다른 포트를 사용하거나, 권한 상승 없이 사용 가능한 포트를 선택하는 것이 좋습니다.

- main 함수의 역할: main 함수는 Flask 앱을 실행시키는 역할을 하고 있습니다. 이것은 일반적인 구조는 아닙니다. 일반적으로 Flask 앱은 모듈 수준에서 실행되어야 하므로, main 함수를 사용하지 않고 바로 __name__ == '__main__' 블록에서 실행되도록 하는 것이 더 자연스러울 것입니다.

- app.run(debug=True, port=5000)는 Flask 애플리케이션을 실행하는 메소드 호출입니다. 여기서 각 매개변수는 다음과 같은 역할을 합니다.

- debug=True: 디버그 모드를 활성화합니다. 디버그 모드는 코드 수정 후 서버를 재시작하지 않아도 변경 사항이 즉시 반영되도록 해줍니다. 또한 예외 메시지를 브라우저에 자세히 표시해주므로 코드 디버깅이 편리해집니다. 그러나 프로덕션 환경에서는 비활성화해야 합니다.

- port=5000: Flask 애플리케이션이 사용할 포트를 지정합니다. 여기서는 5000번 포트를 사용하고 있습니다. 포트는 네트워크 통신에서 어떤 프로세스와 통신할지를 결정하는 데 사용됩니다. Flask 개발 서버는 기본적으로 5000번 포트를 사용하며, 개발 중인 애플리케이션을 웹 브라우저를 통해 확인할 수 있도록 합니다.

따라서, app.run(debug=True, port=5000)를 사용하면 Flask 개발 서버가 디버그 모드로 실행되며, 5000번 포트를 통해 클라이언트의 요청을 수신하고 응답합니다.

 

마무리

- 이번 포스팅은 Hello World 출력으로 Flask 기초에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

 

GUI로 여러 폴더의 이름을 선택한 값 구하기

 폴더별로 동작하는 GUI 앱을 만들어 보자. 

1. 코드리뷰

 

import PySimpleGUI as sg

# 폴더 목록을 보여주고 선택할 수 있도록 하는 함수
def select_folders():
    # 폴더 목록을 저장할 리스트
    folder_list = []
    # 폴더 선택 창의 레이아웃
    layout = [
        [sg.Text('폴더를 선택하세요.')],
        [sg.Listbox(values=folder_list, size=(40, 10), key='-FOLDER-LIST-', select_mode=sg.LISTBOX_SELECT_MODE_EXTENDED)],
        [sg.Button('추가'), sg.Button('제거'), sg.Button('확인'), sg.Button('취소')]
    ]
    # 폴더 선택 창을 생성하고 이벤트와 값들을 반환받음
    window = sg.Window('폴더 선택', layout)
    while True:
        event, values = window.read()
        # 취소 버튼을 누르거나 창을 닫으면 None을 반환하고 종료함
        if event in (sg.WIN_CLOSED, '취소'):
            window.close()
            return None
        # 추가 버튼을 누르면 폴더를 하나 선택하고 리스트에 추가함
        elif event == '추가':
            folder = sg.popup_get_folder('폴더를 선택하세요.')
            if folder is not None and folder not in folder_list:
                folder_list.append(folder)
                window['-FOLDER-LIST-'].update(folder_list)
        # 제거 버튼을 누르면 리스트에서 선택한 폴더를 제거함
        elif event == '제거':
            selected_folders = values['-FOLDER-LIST-']
            if selected_folders:
                for folder in selected_folders:
                    folder_list.remove(folder)
                window['-FOLDER-LIST-'].update(folder_list)
        # 확인 버튼을 누르면 선택한 폴더들의 리스트를 반환하고 종료함
        elif event == '확인':
            window.close()
            return folder_list  # 수정: folder_list를 반환하도록 수정

# 폴더 선택 창을 띄우고 선택한 폴더들의 경로를 출력하는 메인 함수
def main():
    # 폴더 선택 창을 띄우고 선택한 폴더들의 리스트를 folders 변수에 저장함
    folders = select_folders()
    # folders 변수가 None이 아니면 선택한 폴더들의 경로를 출력함
    if folders is not None:
        print(f'선택한 폴더들의 경로는 다음과 같습니다.')
        for folder in folders:
            print(folder)
    # folders 변수가 None이면 폴더를 선택하지 않았다고 출력함
    else:
        print('폴더를 선택하지 않았습니다.')

main()

 

마무리

- 이번 포스팅은 Folder Browser 만들기 에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형
728x90
반응형

 티스토리 

 

day.weekday()

day.weekday() 메서드는 주어진 날짜(day 객체)의 요일을 반환하는 메서드입니다. 반환 값은 월요일부터 일요일까지 각각 0부터 6까지의 정수입니다. 다음은 weekday() 메서드의 사용 예제입니다.

 

1. 코드리뷰

 

import datetime 

# 날짜 생성 (예: 2023년 1월 1일)
day = datetime.date(2023, 1, 1)

# 주어진 날짜의 요일 가져오기 (0: 월요일, 1: 화요일, ..., 6: 일요일)
weekday_number = day.weekday()

# 요일을 문자열로 변환
weekday_string = day.strftime("%A")

# 결과 출력
print(f"The weekday number for {day} is {weekday_number}.")
print(f"The weekday string for {day} is {weekday_string}.")

 - weekday_number: day 날짜의 요일을 숫자로 나타냅니다.

- weekday_string: day 날짜의 요일을 문자열로 나타냅니다. (%A는 요일을 전체로 표시하는 strftime의 포맷 문자열입니다.)

이를 실행하면 해당 날짜(2023년 1월 1일)의 요일을 숫자와 문자열로 출력할 수 있습니다. 필요에 따라 날짜를 변경하여 테스트해보세요.

마무리

- 이번 포스팅은 날짜의 요일을 확인하는 코드 만들기 에 대해 알아봤습니다.

 

궁금한 사항은 댓글을 통해서 남겨 주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형

+ Recent posts