Python Project - Create a Weather Application
Weather Application:
Create a program that fetches and displays weather information for a given location.
Input values:
User provides the location (e.g., city name, zip code) for which weather information is requested.
Output value:
Visual representation of the weather information fetched for the given location, including temperature, humidity, wind speed, etc.
Example:
Input values: Location: New York City Output value: Visual representation of New York City weather information: - Temperature: 55°F - Humidity: 70% - Wind speed: 10 mph - Weather Conditions: Cloudy Input values: Location: London Output value: Visual representation of weather information for London: - Temperature: 12°C - Humidity: 80% - Wind speed: 15 km/h - Weather Conditions: Rainy Input values: Location: Tokyo Output value: Visual representation of weather information for Tokyo: - Temperature: 20°C - Humidity: 60% - Wind speed: 8 km/h - Weather conditions: Sunny
OpenWeather presents you a comprehensive weather solution to get accurate and industry-specific weather forecasts, timely severe weather alerts, detailed weather overview, and expert consultations from OpenWeather professional meteorologists for informed decision-making, worldwide. All you need is to register and get an API key to make requests from OpenWeather.
Solution 1: Weather Application Using Requests and OpenWeatherMap API
Code:
import requests
# Function to fetch weather data from OpenWeatherMap API
def get_weather(city_name, api_key):
base_url = f"https://api.openweathermap.org/data/2.5/weather?q={city_name}&appid={api_key}"
# Make the request to the API
response = requests.get(base_url)
# Check if the request was successful
if response.status_code == 200:
# Parse the JSON response
data = response.json()
main = data['main']
wind = data['wind']
weather = data['weather'][0]
# Prepare the weather data
weather_info = {
'city': city_name,
'temperature': main['temp'],
'humidity': main['humidity'],
'wind_speed': wind['speed'],
'conditions': weather['description']
}
return weather_info
else:
return None
# Main code block
if __name__ == "__main__":
api_key = '******************************' # Replace with your actual OpenWeatherMap API key
city_name = input("Enter city name: ")
# Fetch weather data
weather_data = get_weather(city_name, api_key)
# Display the results
if weather_data:
print(f"Weather in {weather_data['city']}:")
print(f"Temperature: {weather_data['temperature']}°C")
print(f"Humidity: {weather_data['humidity']}%")
print(f"Wind Speed: {weather_data['wind_speed']} m/s")
print(f"Conditions: {weather_data['conditions']}")
else:
print("City not found or API error.")
Output:
Enter city name: London Weather in London: Temperature: 287.6°C Humidity: 91% Wind Speed: 2.68 m/s Conditions: broken clouds
Enter city name: Paris Weather in Paris: Temperature: 290.19°C Humidity: 95% Wind Speed: 3.09 m/s Conditions: light intensity shower rain
Enter city name: New York Weather in New York: Temperature: 279.66°C Humidity: 69% Wind Speed: 3.6 m/s Conditions: clear sky
Explanation:
- OpenWeatherMap API: Uses the requests library to fetch weather data from OpenWeatherMap.
- API Key: Requires an API key for accessing weather data.
- Input and Output: Takes a city name as input and displays temperature, humidity, wind speed, and weather conditions.
- Error Handling: Handles errors for invalid city names or API issues.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics