(2주차 실습) Api 사용과 Json data 처리

[9기 문과생도AI] 캠프에서 진행하는 2주차 실습 과제에 대한 정리입니다.


연습문제 1 : 사용자로부터 입력받은 숫자의 합 계산


# 빈 리스트를 초기화합니다.
numbers = []

# 사용자로부터 5개의 숫자를 입력받습니다.
for i in range(5):
    # 숫자 입력을 요청하고, 정수로 변환합니다.
    number = int(input(f"숫자 {i+1}을 입력하세요: "))
    # 리스트에 숫자를 추가합니다.
    numbers.append(number)

# 숫자들의 합을 계산합니다.
total = sum(numbers)

# 결과를 출력합니다.
print(f"입력받은 숫자들의 합: {total}")



추가 정리 : f-string

  • ChatGPT 가 작성한 코드에 f-string을 사용하여 이에 대해서 정리해 보았습니다.(by Bard)




연습문제 2 : OpenWeatherMap Api 사용과 Json data 처리


import requests

def get_weather(city, api_key):
    """특정 도시의 날씨 정보를 가져오고 출력하는 함수"""
    base_url = "http://api.openweathermap.org/data/2.5/weather"
    params = {
        'q': city,
        'appid': api_key,
        'units': 'metric'  # 섭씨 단위로 변환
    }

    try:
        response = requests.get(base_url, params=params)
        response.raise_for_status()  # 4xx, 5xx 응답 시 예외 발생

        weather_data = response.json()

        # 필요한 정보 추출
        temp = weather_data['main']['temp']
        humidity = weather_data['main']['humidity']
        weather_description = weather_data['weather'][0]['description']
        city_name = weather_data['name']

        # 사용자 친화적으로 출력
        print(f"{city_name}의 날씨: {weather_description}, 온도: {temp}°C, 습도: {humidity}%")

    except requests.HTTPError as http_err:
        print(f"HTTP 에러 발생: {http_err}")
    except Exception as err:
        print(f"오류 발생: {err}")

# 사용 예시
api_key = 'YOUR_API_KEY'  # 여기에 OpenWeatherMap API 키를 입력하세요
city = 'Seoul'
get_weather(city, api_key)


추가 정리 : OpenWeatherMap API 얻는 법

  • OpenWeatherMap(https://openweathermap.org/) 사이트 가입

  • [My API keys] 메뉴 들어가기

  • “API key name” 입력

  • “Generate” 클릭

  • 생성된 API key를 복사한다.



※ (추가) weather_data에 들어 있는 모든 값을 출력하는 코드(with ChatGPT)



개인적으로 이런 수준의 코딩 문제는 Bard를 사용해도 결과가 잘 오는 거 같아서,

ChatGPT 사용량 조절을 위한 Bard하고 병행해서 사용해도 될 듯 합니다.


#9기문과생도AI

4
2개의 답글

👉 이 게시글도 읽어보세요

모집 중인 AI 스터디