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

为什么不用担心参数和返回值被识别成了int呢?

我看到参考答案的公式里是直接使用的整数,传进来的参数也是整数,为什么不会造成计算时按照整除计算之类的问题?有没有必要计算时专门使用浮点数来进行计算?

正在回答

2 回答

这次的参考答案是比较省略的,所以忽略了这些问题。

参考答案里面传回的参数都是使用了math.sqrt(x),这会自动把整数x平方后的数变为浮点数。做下print math.sqrt(4)的实验就可以知道。

如果一般计算,为了避免python整数除法运算自动取整,可以先把传进来的参数浮点化float()

这次参考答案还忽视了,传进的a参数是不能为0的,不然会报错,还有当

  ,就是b**2-4*a*c的结果小于0

时,方程无实数根

import mathdef quadratic_equation(a, b, c):    if a==0:        if b==0:            return None        else:            x=float(-c)/b#避免整数相除取整        return x    else:        r=b**2-4*a*c        if r>=0:            x1=(-b+math.sqrt(r))/(2*a)            x2=(-b-math.sqrt(r))/(2*a)            return x1, x2        else:            return None


1 回复 有任何疑惑可以回复我~
#1

人间世支离疏

下面重新传了代码
2019-04-18 回复 有任何疑惑可以回复我~

import math


def quadratic_equation(a, b, c):

    if a==0:

        if b==0:

            return None

        else:

            x=float(-c)/b#避免整数相除取整

        return x

    else:

        r=b**2-4*a*c

        if r>=0:

            x1=(-b+math.sqrt(r))/(2*a)

            x2=(-b-math.sqrt(r))/(2*a)

            return x1, x2

        else:

            return None

        


5 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么不用担心参数和返回值被识别成了int呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信