스크립트

파이썬 공부 - 3. 파이썬 프로그래밍 실습

코드버스 2023. 6. 9. 08:17
728x90
반응형

파이썬 프로그래밍 실습

간단한 콘솔 응용프로그램 개발

  • 간단한 계산기 프로그램
# 간단한 계산기 프로그램
def add_numbers(a, b):
    return a + b

def subtract_numbers(a, b):
    return a - b

def multiply_numbers(a, b):
    return a * b

def divide_numbers(a, b):
    return a / b

print("간단한 계산기 프로그램")
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
operator = input("연산자를 입력하세요 (+, -, *, /): ")

if operator == "+":
    result = add_numbers(num1, num2)
elif operator == "-":
    result = subtract_numbers(num1, num2)
elif operator == "*":
    result = multiply_numbers(num1, num2)
elif operator == "/":
    result = divide_numbers(num1, num2)
else:
    print("잘못된 연산자입니다.")

print("결과:", result)
  • 간단한 To-Do 리스트 프로그램
# 간단한 To-Do 리스트 프로그램
tasks = []

while True:
    print("1. 할 일 추가")
    print("2. 할 일 목록 보기")
    print("3. 프로그램 종료")
    choice = input("원하는 작업을 선택하세요: ")

    if choice == "1":
        task = input("추가할 할 일을 입력하세요: ")
        tasks.append(task)
        print("할 일이 추가되었습니다.")
    elif choice == "2":
        if len(tasks) == 0:
            print("할 일이 없습니다.")
        else:
            print("할 일 목록:")
            for i, task in enumerate(tasks, start=1):
                print(f"{i}. {task}")
    elif choice == "3":
        print("프로그램을 종료합니다.")
        break
    else:
        print("잘못된 입력입니다. 다시 선택해주세요.")

함수와 클래스를 활용한 프로그래밍 구조 설계

  • 도형 클래와 함수
# 도형 클래스와 함수
class Shape:
    def __init__(self, name):
        self.name = name

    def calculate_area(self):
        pass

class Circle(Shape):
    def __init__(self, name, radius):
        super().__init__(name)
        self.radius = radius

    def calculate_area(self):
        return 3.14 * self.radius * self.radius

class Rectangle(Shape):
    def __init__(self, name, width, height):
        super().__init__(name)
        self.width = width
        self.height = height

    def calculate_area(self):
        return self.width * self.height

def print_area(shape):
    area = shape.calculate_area()
    print(f"{shape.name}의 면적은 {area}입니다.")

# 사용 예시
circle = Circle("원", 5)
rectangle = Rectangle("사각형", 4, 6)

print_area(circle)  # 출력: 원의 면적은 78.5입니다.
print_area(rectangle)  # 출력: 사각형의 면적은 24입니다.
  • 계산기 클래스
# 계산기 클래스
class Calculator:
    def __init__(self, num1, num2):
        self.num1 = num1
        self.num2 = num2

    def add(self):
        return self.num1 + self.num2

    def subtract(self):
        return self.num1 - self.num2

    def multiply(self):
        return self.num1 * self.num2

    def divide(self):
        return self.num1 / self.num2

# 사용 예시
calculator = Calculator(10, 5)
print("덧셈 결과:", calculator.add())
print("뺄셈 결과:", calculator.subtract())
print("곱셈 결과:", calculator.multiply())
print("나눗셈 결과:", calculator.divide())

데이터 처리와 분석

  • 리스트 내 숫자의 합 구하기
# 리스트 내 숫자의 합 구하기
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print("리스트 내 숫자의 합:", total)
  • 평균 계산 함수
# 평균 계산 함수
def calculate_average(numbers):
    total = sum(numbers)
    average = total / len(numbers)
    return average

# 사용 예시
scores = [80, 90, 75, 95, 70]
average_score = calculate_average(scores)
print("평균 점수:", average_score)

웹 스크래핑과 API 사용

import requests
from bs4 import BeautifulSoup

# 웹 스크래핑 예시: 네이버 실시간 검색어
url = "https://www.naver.com/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

rankings = soup.select(".PM_CL_realtimeKeyword_rolling .ah_k")
for i, ranking in enumerate(rankings):
    keyword = ranking.text
    print(f"{i+1}위: {keyword}")

# API 사용 예시: OpenWeatherMap API를 통한 날씨 정보 조회
api_key = "YOUR_API_KEY"
city = "Seoul"

url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"
response = requests.get(url)
data = response.json()

temperature = data["main"]["temp"]
weather_description = data["weather"][0]["description"]

print(f"{city}의 현재 날씨: {weather_description}, 온도: {temperature}℃")

 

728x90
반응형