Home > Backend Development > Python Tutorial > Any Country&#s capital finder in Python

Any Country&#s capital finder in Python

Barbara Streisand
Release: 2024-11-27 14:02:11
Original
1056 people have browsed it

Hello Everyone! I'm going to show you how to create an app running on Flask python webframework that will get any country's capital based on user input written in python.

First you need to create a new folder let's name it country_capital_finder and create a txt file named (app) then change it's extension to be app.py that will be the python file containing the python code, and then inside that folder create another folder named (templates) and inside templates folder create another txt file named index change its extension to index.html, it's very important to create the folder structure and templates folder name exactly as templates otherwise Flask won't be able to run.

Now the fun part here is the python code for app.py file:

from flask import Flask, render_template, request
from countryinfo import CountryInfo

app = Flask(__name__)

# Function to get the capital of a country
def get_country_capital(country_name):
    country = CountryInfo(country_name)
    try:
        capital = country.capital()
        return capital
    except:
        return None

@app.route('/', methods=['GET', 'POST'])
def index():
    capital_info = None
    if request.method == 'POST':
        country_name = request.form.get('country_name')
        capital = get_country_capital(country_name)
        if capital:
            capital_info = f"The capital of {country_name} is {capital}."
        else:
            capital_info = f"Sorry, we couldn't find the capital for {country_name}."

    return render_template('index.html', capital_info=capital_info)

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

Copy after login

Once you're done with python file app.py go to index.html and write this HTML and CSS code in it:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Country Capital Finder</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 50px;
        }
        form {
            margin-bottom: 20px;
        }
        input[type="text"] {
            padding: 10px;
            margin-right: 10px;
            font-size: 16px;
        }
        button {
            padding: 10px 20px;
            font-size: 16px;
        }
        .result {
            margin-top: 20px;
            font-size: 18px;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <h1>Find the Capital of a Country</h1>

    <form method="POST">
        <label for="country_name">Enter Country Name:</label>
        <input type="text">



<p>Now that you have all code done we need to first install Flask on your computer if it's not installed using this command by opening CMD or powershell in Windows:</p>

<p>pip install flask </p>

<p>Make sure that the folder structure should be as the following:<br>
Main folder country_capital_finder contains a file named app.py and folder named templates, then inside templates folder there is only one file which is index.html.</p>

<p>Then navigate to country_capital_finder folder from CMD or Powershell in windows and make sure to run the following command while you're at that path:</p>

<p>Flask run </p>

<p>Then copy the address below and open a web browser page and paste it in the webpage:</p>

<p>http://127.0.0.1:5000</p>

<p>To change ip address to your machine's ip for example type this command:<br>
flask run --host=0.0.0.0</p>

<p>to specify the port number type this:<br>
flask run --port=8080</p><p>You should be able to see a box where you can type any country's name and click Find Capital this should display the capital of the country you entered as the screenshot below:</p>

<p><img src="https://img.php.cn/upload/article/000/000/000/173268733393471.jpg" alt="Any Country"></p>

<p>Enjoy it and thank you so much. </p>


          

            
        
Copy after login

The above is the detailed content of Any Country&#s capital finder in Python. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template