利用 send 方法计算多个数的平均数

利用 send 方法计算多个数的平均数,并且可以多次输入:

def averager():            # 创建一个生成器函数
    sum = 0                # 创建一个总数变量
    count = 0              # 创建一个个数变量
    avg = 0                # 创建一个平均数变量
    while True:            # while 循环
        num = yield avg    # 先执行 next,然后再执行 send,yield avg 接受 send 返给函数的值,传给 num。
        sum = sum + num    # 第一次 sum = 0 + 10 (num = 10);第二次 send 传递 20 时,sum=10+20
        count += 1         # 第一次count=1;第二次运算,count=2;
        avg = sum / count  # 第一次avg = 10/1;第二次运算,avg=30/2;


a = averager()
get_avg = a.__next__()
get_avg = a.send(10)       # 向 yield 传送 10,然后接受返回值 10 给 get_avg
get_avg = a.send(20)       # 向 yield 传送 20,然后接受返回值 15 给 get_avg
print(get_avg)             # 打印结果为 15

  打印结果为 15

转载于:https://www.cnblogs.com/artfeb/p/10800950.html

### 回答1: Express 是一个基于 Node.js 的 web 应用框架,可以帮助开发人员快速构建 web 应用程序。 在 Express 中,可以使用 `res.send()` 方法将数据发送到客户端。它接受任意类型的参数,并自动根据参数的类型来设置响应头。 如果想要发送多个网页,可以创建多个路由处理器来处理不同的请求,并使用 `res.send()` 方法发送相应的网页内容。 例如: ```javascript const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('这是首页'); }); app.get('/about', (req, res) => { res.send('这是关于页'); }); app.listen(3000, () => { console.log('服务器启动成功'); }); ``` 在上面的代码中,当用户访问 "/" 时,会看到 "这是首页",当用户访问 "/about" 时,会看到 "这是关于页"。 需要注意的是,如果要发送的是一个 HTML 页面,可以使用 `res.sendFile()` 方法,将 HTML 文件的路径作为参数传入。 例如: ```javascript app.get('/about', (req, res) => { res.sendFile(__dirname + '/about.html'); }); ``` 希望这些信息能帮到你! ### 回答2: 在Express中,使用res.send()发送多个网页有多种方式。 一种常见的方式是使用模板引擎。在这种情况下,我们可以使用res.render()来渲染一个模板,并将其发送到客户端。我们可以在服务器端定义多个不同的模板,并根据需要选择要发送的模板。例如,我们可以在服务器端定义一个用于首页的模板和一个用于关于页面的模板,然后根据路由来决定要发送哪个页面。以下是示例代码: ```javascript // 使用模板引擎 const express = require('express'); const app = express(); app.set('view engine', 'ejs'); // 设置模板引擎为ejs app.get('/', (req, res) => { res.render('index'); // 渲染并发送首页 }); app.get('/about', (req, res) => { res.render('about'); // 渲染并发送关于页面 }); app.listen(3000, () => { console.log('Server is listening on port 3000'); }); ``` 另一种方式是直接发送HTML文件。在这种情况下,我们可以使用res.sendFile()来发送多个HTML文件。我们只需要提供HTML文件的路径即可。以下是示例代码: ```javascript // 直接发送HTML文件 const express = require('express'); const app = express(); app.use(express.static('public')); // 设置静态文件目录 app.get('/', (req, res) => { res.sendFile('/path/to/index.html'); // 发送首页 }); app.get('/about', (req, res) => { res.sendFile('/path/to/about.html'); // 发送关于页面 }); app.listen(3000, () => { console.log('Server is listening on port 3000'); }); ``` 无论使用哪种方式,我们都可以根据需要在Express中发送多个网页。 ### 回答3: 在Express中,使用res.send()方法发送多个网页是不可能的。res.send()方法主要用于发送HTTP响应的数据。但是,可以使用其他方法来实现这个需求。 一种常见的方法是使用Express的路由来处理多个网页。可以为每个网页创建一个不同的路由,然后在每个路由中使用res.sendFile()来发送对应的网页文件。例如: ```javascript const express = require('express'); const app = express(); app.get('/page1', (req, res) => { res.sendFile(__dirname + '/page1.html'); }); app.get('/page2', (req, res) => { res.sendFile(__dirname + '/page2.html'); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 另一种方法是使用模板引擎来动态生成网页。Express可以集成多种模板引擎,如EJS、Handlebars和Pug等。这些模板引擎可以帮助我们生成动态内容的网页。例如,使用EJS模板引擎可以这样实现: ```javascript const express = require('express'); const app = express(); app.set('view engine', 'ejs'); app.get('/', (req, res) => { res.render('page1'); }); app.get('/page2', (req, res) => { res.render('page2'); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 在以上示例中,我们需要在views文件夹下创建page1.ejs和page2.ejs文件,并在其中编写对应的HTML代码。 总的来说,可以通过使用不同路由和模板引擎来实现在Express中发送多个网页的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值