Go语言编程实践与Web应用开发

1、将 statistics 目录复制到 my_statistics 中,并修改 my_statistics/statistics.go 文件,以计算另外两个统计指标:众数和标准差。当用户点击“计算”按钮时,输出应包含众数和标准差的计算结果。

此操作需要向 statistics 结构体添加几个新项,并添加两个新函数来执行计算。该方案大约需要 40 行额外代码,使用了内置的 append() 函数向切片添加数字。

标准差函数较易编写,只需使用 math 包中的一些函数,代码少于十行,使用公式
σ = √(∑(x - x̅)² / (n - 1))
其中:

  • x 是每个数字
  • 是均值
  • n 是数字的数量

众数是出现频率最高的数字,如果有两个或更多数字出现频率相同且最高,则它们都是众数;如果所有数字出现频率相同,则没有众数。

众数的计算比标准差更复杂,大约需要 20 行代码。

2、使用标准公式 x = [-b ± √(b² - 4ac)] / 2a 创建一个用于计算二次方程解的 Web 应用程序。使用复数,以便即使判别式(b² - 4ac 部分)为负时也能找到解。首先,让数学计算正常工作。然后,修改应用程序以产生更智能的输出,例如将“+ -”替换为“-”,将“1x”替换为“x”,抑制零分量,当虚部近似为零时将解格式化为浮点数。

初始应用开发的代码约 120 行,此版本通过使用 EqualFloat() 函数,在两个解近似相等时能只输出一个解。

之后进行改进的代码约 160 行,在输出格式上更智能,它使用了 math/cmplx 包的一些函数(如 cmplx.IsNaN() )和更高级的字符串格式化。

3、上一节的 m3u2pls 程序能很好地将 .m3u 播放列表文件转换为 .pls 格式。但如果该程序还能进行反向转换,即从 .pls 格式转换为 .m3u 格式,会更实用。对于这个练习,将 m3u2pls 目录复制到(例如)my_playlist 中,并创建一个名为 playlist 的新程序,使其具备所需功能。其使用信息应为 usage: playlist 。如果该程序使用 .m3u 文件调用,它应与 m3u2pls 程序的功能完全相同:将文件数据以 .pls 格式写入控制台。但如果使用 .pls 文件调用该程序,它应将文件数据以 .m3u 格式写入控制台。新功能大约需要 50 行新代码。

任务要求

  • m3u2pls 目录复制到 my_playlist 目录。
  • 创建一个名为 playlist 的新程序,要求:
  • 能根据输入文件格式( .m3u .pls )进行相应转换。
  • 将转换结果输出到控制台。
  • 使用信息为: usage: playlist <file.[pls|m3u]>
  • 新功能大约需要 50 行新代码

4、编写一

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值