Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这种情况下,如何结合Python和Html来工作?_Python_Html_Css - Fatal编程技术网

在这种情况下,如何结合Python和Html来工作?

在这种情况下,如何结合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

我正试图用python在html和css站点上制作某种计算器,它需要像有2个值一样工作,1个值是常量,这是
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。但我听说有两个脚本被用作解释脚本。它们是CoffeeScriptTypeScript。如果您仍然想使用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>