好吧,我正在尝试使用python在html和css网站上制作某种计算器,它需要像2个值一样工作1个值是常量,即
num1
= 2
。 num2
是输入值,我想知道如何使python在站点上实时做出反应并显示与print(num1 * num2)
相同的输出。
Python代码:
<script>
num1 = 2
num2 = int(input())
print(num1 * num2)
</script>
HTML代码:
<input type="number" name="num2">
如何在输入输入时立即显示输出?
答案 0 :(得分:2)
您既不能直接在Python中执行操作,也不能执行操作。因为Web语言是JavaScript,而只有JavaScript。但据我所知,有两个脚本用作解释脚本。它们是 CoffeeScript 和 TypeScript 。如果仍然要使用python,则必须使用Django或Flask之类的框架。然后,您必须进行 AJAX 调用(仍通过JavaScript)并重新加载所需的Page部分。
您的python可能代码如下:
@route("/calculate?<int:input>") # this is a dummy example web framework. Doesn't exists in real life
def calculate(request, input):
return http_response(str(input * 2))
然后通过带有JavaScript的AJAX调用传递您的网址 http .... / calculate?<此处的数字> 。然后重新加载页面的结果部分。但我不建议这样做。尽管在这种情况下python很简单,但是您会发现AJAX的复杂性。仅在需要BackEnd上的内容时才应使用python。如访问服务器。或使用任何其他编程语言均不支持的功能。如果需要使用 eval 函数,则可以使用python
答案 1 :(得分:0)
您不能在浏览器中使用python ...脚本标记适用于JavaScript。您必须了解客户端和服务器端编程语言之间的区别。
但是,如果您要使用JavaScript解决方案:
<input type="number" name="num2">
<span id="output">
<script>
// first number
var num = 2;
// get input and convert to a number
var inp = parseInt(document.getElementsByName("num2")[0].value) || 0;
// do math
var out = num * inp;
// do things with output
console.log(out); // this will send output to console log
document.getElementById("output").innerHTML = out; // this will write output to span
</script>
答案 2 :(得分:-1)
您不能使python在浏览器上运行,尽管它可能但不建议这样做,我建议您使用javascript
JavaScript
<script>
var num1 = 2
var num2 = document.querySelector('input')
document.getElementById('#output').innerHTML = num1 * num2
</script>
HTML
<input type="number" name="num2">
<strong id="output"></strong>
所有人都应该成为我的朋友