跳至主要內容

q1

AI悦创原创Python 一对一教学同济大学同济大学PythonPython 一对一教学同济大学同济大学Python大约 3 分钟...约 871 字

Question1

从键盘输入 x 和 n 的值,计算下列部分级数和的前 n+1 项。

sum=1xx(x+1)1!3+x3(2x+1)2!5+(1)nx(2n1)(nx+1)(n)!(2n+1)sum = \frac{1}{x} - \frac{x(x+1)}{1!·3}+\frac{x^3(2x + 1)}{2!·5}-···+\frac{(-1)^nx^(2n-1)(nx+1)}{(n)!(2n+1)}

0<x<+,n=1,2,3...0 < |x| < +∞,n=1,2,3...

程序某次运行结果如下:

请输入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}")
  1. s 函数中,您的 while 循环永远不会终止,因为它没有明确的退出条件。此外,题目要求计算前 n+1 项部分级数和,因此应使用 for 循环而不是无限的 while 循环。
  2. 您在函数中传入了 i,但是在函数内部将其重置为0,这会导致传入的 i 值被忽略。您应该使用另一个变量名来表示迭代次数,并使用传入的 i 作为循环的上限。
  3. 您在代码中同时使用了 sign 变量和 (-1) ** i 来控制正负号,这实际上是冗余的。您可以选择其中一种方式来控制正负号。
公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Web、Linux」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQopen in new window

方法二:微信:Jiabcdefh

上次编辑于:
贡献者: AndersonHJB
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度