PHP前端开发

python 中的货币转换器

百变鹏仔 3天前 #Python
文章标签 转换器

大家好,今天我将向您展示如何使用 python 和 flask 创建一个简单的货币转换器并将其显示在网络上。

首先我们需要确保 flask 已正确安装,为此,在 windows 中打开 powershell 或 cmd,并确保以管理员身份运行,右键单击它,然后以管理员身份运行,flask 很容易通过键入以下内容安装命令:

pip 安装烧瓶

安装python之后,当然你可以查看这个链接来了解如何在windows上安装python:

立即学习“Python免费学习笔记(深入)”;

(https://www.geeksforgeeks.org/how-to-install-python-on-windows/)

成功安装flask后,创建一个名为currency_converter的文件夹,并在该文件夹内创建一个名为app.py的txt文件,并确保将扩展名从.txt更改为.py,然后在currency_converter文件夹内创建另一个名为(templates)的文件夹并制作确保此文件夹的名称与 templates 完全相同,否则 flask 将无法运行,然后在 templates 文件夹中创建一个名为 index.html 的文件,您可以创建一个 txt 文件,然后将其重命名为 index.html 并确保扩展名是.html

这是app.py文件的代码:

from flask import flask, render_template, request, redirect, url_forimport requestsapp = flask(__name__)api_url = "https://api.exchangerate-api.com/v4/latest/{}"@app.route("/", methods=["get", "post"])def index():    if request.method == "post":        from_currency = request.form["from_currency"].upper()        to_currency = request.form["to_currency"].upper()        amount = float(request.form["amount"])        # fetch exchange rate data        response = requests.get(api_url.format(from_currency))        if response.status_code == 200:            data = response.json()            rates = data.get("rates", {})            if to_currency in rates:                conversion_rate = rates[to_currency]                converted_amount = amount * conversion_rate                return render_template(                    "index.html",                    converted_amount=converted_amount,                    from_currency=from_currency,                    to_currency=to_currency,                    amount=amount,                )            else:                error = f"currency '{to_currency}' not found."                return render_template("index.html", error=error)        else:            error = f"error fetching data for '{from_currency}'."            return render_template("index.html", error=error)    return render_template("index.html")if __name__ == "__main__":    app.run(debug=true)

这是带有 css 的 html 文件的代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Currency Converter</title>    <style>        /* General body styling */        body {            font-family: 'Arial', sans-serif;            margin: 0;            padding: 0;            background: linear-gradient(135deg, #6dd5fa, #2980b9);            color: white;            display: flex;            justify-content: center;            align-items: center;            height: 100vh;        }        /* Centering the container */        .container {            background: #ffffff10; /* Semi-transparent white */            border-radius: 10px;            padding: 20px 30px;            max-width: 400px;            width: 100%;            box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);            text-align: center;        }        /* Header styling */        h1 {            font-size: 28px;            margin-bottom: 20px;            color: #fff;            text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);        }        /* Input and button styling */        input, button {            display: block;            width: 100%;            margin: 10px 0;            padding: 12px;            font-size: 16px;            border: none;            border-radius: 5px;        }        input {            background: #ffffff80; /* Semi-transparent white */            color: #333;        }        button {            background: #2980b9;            color: #fff;            font-weight: bold;            cursor: pointer;            transition: background 0.3s ease;        }        button:hover {            background: #1e5786;        }        /* Result message styling */        .result {            background: red;            padding: 10px;            border-radius: 5px;            margin-top: 20px;            text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);        }        .result p {            margin: 0;            font-size: 18px;        }        /* Error message styling */        .error {            color: #ff4d4d;            margin: 10px 0;            font-weight: bold;        }        /* Responsive design */        @media (max-width: 480px) {            .container {                padding: 15px 20px;            }            h1 {                font-size: 22px;            }            input, button {                font-size: 14px;            }        }    </style></head><body>    <div class="container">        <h1>Currency Converter</h1>        {% if error %}            <p class="error">{{ error }}</p>        {% endif %}        {% if converted_amount %}            <div class="result">                <p>{{ amount }} {{ from_currency }} = {{ converted_amount | round(2) }} {{ to_currency }}</p>            </div>        {% endif %}        <form method="POST" action="/">            <input type="text" name="from_currency" placeholder="From currency (e.g., USD)" required>            <input type="text" name="to_currency" placeholder="To currency (e.g., EUR)" required>            <input type="number" step="0.01" name="amount" placeholder="Amount" required>            <button type="submit">Convert</button>        </form>    </div></body></html>

然后打开 powershell 或 cmd 并导航到您的currency_converter 文件夹位置并输入:
烧瓶运行

这将在您的计算机上创建一个网络服务器,其 ip 和端口号如下:

http://127.0.0.1:5000

打开网络浏览器,然后复制该地址并将其粘贴到您的浏览器中,然后尝试货币转换器。

有关代码的货币列表,请查看此网站:

(https://taxsummaries.pwc.com/glossary/currency-codes)

非常享受并感谢您。