[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