在这种情况下,如何结合Python和Html来工作?
我正试图用python在html和css站点上制作某种计算器,它需要像有2个值一样工作,1个值是常量,这是在这种情况下,如何结合Python和Html来工作?,python,html,css,Python,Html,Css,我正试图用python在html和css站点上制作某种计算器,它需要像有2个值一样工作,1个值是常量,这是 num1=2num2是输入值,我想知道如何让python在现场实时反应并显示输出,这与:print(num1*num2)相同 Python代码: <script> num1 = 2 num2 = int(input()) print(num1 * num2) </script> num1=2 num2=int(输入()) 打印(num1*num2) HTML
num1
=2
num2
是输入值,我想知道如何让python在现场实时反应并显示输出,这与:print(num1*num2)
相同
Python代码:
<script>
num1 = 2
num2 = int(input())
print(num1 * num2)
</script>
num1=2
num2=int(输入())
打印(num1*num2)
HTML代码:
当输入被键入时,如何使其立即显示输出?您既不能直接在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))
@route(“/calculate?”)#这是一个虚拟示例web框架。在现实生活中并不存在
def计算(请求、输入):
返回http_响应(str(输入*2))
然后通过你的url http..../calculate?使用AJAX调用JavaScript。然后重新加载页面的结果部分。但我不建议这样做。虽然python在这种情况下很简单,但您会发现AJAX的复杂性。只有在需要在后端执行某些操作时,才应该使用python。例如访问服务器。或者使用任何其他编程语言都不支持的功能。如果需要使用eval函数,可以使用python
编辑:一个新的工具来实现你的梦想。是brython最终在浏览器中编写python代码而不是JavaScript。它被解释为类似CoffeeScript的JavaScript,但您将无法使用python模块。您无法使python在浏览器上工作,尽管这是可能的,但不可取,我建议您使用JavaScript Javascript
<script>
var num1 = 2
var num2 = document.querySelector('input')
document.getElementById('#output').innerHTML = num1 * num2
</script>
var num1=2
var num2=document.querySelector('input')
document.getElementById('#output')。innerHTML=num1*num2
HTML
我的朋友,你不能在浏览器中使用python。。。Script标记用于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>
//第一个数字
var-num=2;
//获取输入并转换为数字
var inp=parseInt(document.getElementsByName(“num2”)[0].value)|0;
//做数学
var out=num*inp;
//用输出做事情
控制台。登录(退出);//这将向控制台日志发送输出
document.getElementById(“输出”).innerHTML=out;//这将把输出写入span
您不能在浏览器中使用python。。。Script标记用于javascript。@TrueTiem ok,但witch标记用于python?如我所说,如果我尝试,它将不起作用。您不能在浏览器中使用python。如果您想使用python作为“后端”,则需要python的web框架。像django()一样,为什么需要使用python呢?客户端语言在不调用后端的情况下可以很好地处理这个问题。使用javascript要简单得多。您在getElementById中使用了#吗?在num2没有得到价值,所以很抱歉,那是个错误
<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>