为了账号安全,请及时绑定邮箱和手机立即绑定

函数参数:ab 未定义

函数参数:ab 未定义

慕虎7371278 2021-12-29 10:45:41
当我运行这段代码时,它说ab没有定义。问题是什么?import mathdef taylor(ab):    ab = float(input("What is the parameter precision? :"))    print(f"Calling taylor: {(ab)}")    num = 0    x = 1    n = 0    y = 1    while abs(math.pi - num) > ab:        num = num + (4 * (x / y))        x = x * -1        y += 2        n = n + 1    print(f"Calling basel : {(ab)} returns {(num), (n)}")taylor(ab)
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

import math

def taylor():

    ab = float(input("What is the parameter precision? :"))

    print(f"Calling taylor: {(ab)}")

    num = 0

    x = 1

    n = 0

    y = 1

    while abs(math.pi - num) > ab:

        num = num + (4 * (x / y))

        x = x * -1

        y += 2

        n = n + 1

    print(f"Calling basel : {(ab)} returns {(num), (n)}")

taylor()

或者:


import math

def taylor(ab):


    print(f"Calling taylor: {(ab)}")

    num = 0

    x = 1

    n = 0

    y = 1

    while abs(math.pi - num) > ab:

        num = num + (4 * (x / y))

        x = x * -1

        y += 2

        n = n + 1

    print(f"Calling basel : {(ab)} returns {(num), (n)}")

ab = float(input("What is the parameter precision? :"))

taylor(ab)


查看完整回答
反对 回复 2021-12-29
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您试图在定义变量ab之前使用它。您不能将未定义的变量传递给函数。在taylor()不需要声明任何参数。删除参数应该可以解决您的问题:


import math


def taylor():

    ab = float(input("What is the parameter precision? :"))

    print(f"Calling taylor: {(ab)}")

    num = 0

    x = 1

    n = 0

    y = 1

    while abs(math.pi - num) > ab:

        num = num + (4 * (x / y))

        x = x * -1

        y += 2

        n = n + 1

    print(f"Calling basel : {(ab)} returns {(num), (n)}")


taylor()


查看完整回答
反对 回复 2021-12-29
  • 2 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信