q1
原创2023年4月20日大约 3 分钟...约 871 字
Question1
从键盘输入 x 和 n 的值,计算下列部分级数和的前 n+1 项。
程序某次运行结果如下:
请输入x: 0.3
请输入n: 6
3.207545595513422
import math
def partial_sum(x, n):
total_sum = 0
for i in range(n + 1):
numerator = (-1)**i * x**(2*i - 1) * (i * x + 1)
denominator = math.factorial(i) * (2 * i + 1)
total_sum += numerator / denominator
return total_sum
x = float(input("请输入 x 的值: "))
n = int(input("请输入 n 的值: "))
result = partial_sum(x, n)
print(f"前 {n + 1} 项部分级数和为: {result}")
# 导入 math 模块以使用数学函数,如阶乘
import math
# 定义一个名为 partial_sum 的函数,用于计算部分级数和
def partial_sum(x, n):
# 初始化总和为 0
total_sum = 0
# 对于每个 i,从 0 到 n(包含 n)
for i in range(n + 1):
# 计算分子部分:(-1)^i * x^(2*i - 1) * (i * x + 1)
numerator = (-1)**i * x**(2*i - 1) * (i * x + 1)
# 计算分母部分:(i)! * (2 * i + 1)
denominator = math.factorial(i) * (2 * i + 1)
# 将当前项的值(分子除以分母)累加到总和中
total_sum += numerator / denominator
# 返回部分级数和
return total_sum
# 从键盘读取 x 的值,并将其转换为浮点数
x = float(input("请输入 x 的值: "))
# 从键盘读取 n 的值,并将其转换为整数
n = int(input("请输入 n 的值: "))
# 调用 partial_sum 函数,传入 x 和 n,并将结果存储在 result 变量中
result = partial_sum(x, n)
# 打印前 n + 1 项部分级数和的结果
print(f"前 {n + 1} 项部分级数和为: {result}")
- 在
s
函数中,您的while
循环永远不会终止,因为它没有明确的退出条件。此外,题目要求计算前n+1
项部分级数和,因此应使用for
循环而不是无限的while
循环。 - 您在函数中传入了
i
,但是在函数内部将其重置为0,这会导致传入的i
值被忽略。您应该使用另一个变量名来表示迭代次数,并使用传入的i
作为循环的上限。 - 您在代码中同时使用了
sign
变量和(-1) ** i
来控制正负号,这实际上是冗余的。您可以选择其中一种方式来控制正负号。
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Web、Linux」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0