好吧,我正在尝试在html和css网站上使用python制作某种计算器,需要像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">
如何输入输入时立即显示输出?
你既不能用Python直接做,也不能用。因为Web的语言是JavaScript而且只有JavaScript。但是我听到过两个脚本用作解释脚本。它们是CoffeeScript和TypeScript。如果你仍然想使用python,你必须使用像Django或Flask这样的框架。然后你必须进行AJAX调用(仍然通过JavaScript)并重新加载你想要的页面部分。
您的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调用传递您的URL http .... / calculate?<此处的数字>。然后重新加载页面的结果部分。但我不建议这样做。虽然在这种情况下python很容易,但你会发现自己在AJAX中很复杂。你应该只在需要BackEnd上的东西时使用python。比如访问服务器。或者使用任何其他编程语言都不支持的功能。如果需要使用eval函数,可以使用python
你不能在浏览器中使用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>
你不能使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>
一切都应该是我的朋友