Discuss / Python / 求解,百思不得其解

求解,百思不得其解

Topic source

_Cmos

#1 Created at ... [Delete] [Delete and Lock User]

def quadratic(a,b,c): d=bb-4a*c if a==0: return 'a不能为0' if d<0: return '无解' else: x1=(-b+math.sqrt(d))/2/a x2=(-b-math.sqrt(d))/2/a return x1,x2 返回值总是无解,为什么啊?求各位大大给个解释

因为你最后一条分支接着的‘return……’写的位置不对;它应该和if对齐。

上面的回复错了,可能是你调用函数时,填写的实参——不知道这么用术语准确吗,哈哈,新手——你可以试着把B弄得大点

离奈何

#4 Created at ... [Delete] [Delete and Lock User]

你第一个if里面判断的是参数a的范围,接下来应该是else,非前一步a的范围,然后再在这个范围里判断d。下面是我写的代码,我的是python 3.5

import math

def quadratic(a,b,c): s=bb-4ac; if(a==0): return "a不能等于0" else: if(s>=0): x1=(-b+math.sqrt(s))/(2a); x2=(b+math.sqrt(s))/(2a); return x1,x2; else: return("(bb-4ac)需要大于0")

print(quadratic(3.5,8.8,2));

离奈何

#5 Created at ... [Delete] [Delete and Lock User]

代码已运行过,是OK的

离奈何

#6 Created at ... [Delete] [Delete and Lock User]

代码上传后,有些地方变了,比如2a,我在sublime里面,写的是2a,上传后少了 请注意


  • 1

Reply