Discuss / Python / 求大神看看,哪里出错了

求大神看看,哪里出错了

Topic source

王令大王

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

-- coding:utf-8 --

import math def quadratic(a,b,c): if not isinstance((a,b,c),(int,float)): raise TypeError('bad operand type') if a==0: return "a cannot be 0" else: delta=bb-4ac delta=float(delta) if delta<0: print ('没有实数根') elif delta=0: print('有唯一实数根') x1=(-b+math.sqrt(delta))/(2a) x2=x1 return x1,x2 else delta>0: print('有两个不同的实数根') x1=(-b+math.sqrt(delta))/(2a) x2=(-b-math.sqrt(delta))/(2a) return x1,x2 pirnt(quadratic(2,3,1)) print(quadratic(1,3,-4))

王令大王

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

显示第11行if delta<0: 有错.invalid character in identifier

今儿看

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

delta定义在else:的代码块里, 超出这个代码快 这个变量即销毁 应该是 def quadratic(a,b,c): if not isinstance((a,b,c),(int,float)): raise TypeError('bad operand type') if a==0: return "a cannot be 0" else: delta=bb-4ac delta=float(delta) if delta<0: print ('没有实数根')

错了好多

王令大王

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

为什么我看不出来我和你写的有什么区别。不是一样的代码么?@今儿看

王令大王

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

能帮忙指出哪错了么?谢谢!!@保持冷静并且跑起来

delta定义的位置不同 ,你的变量定义在了else代码块中,下面if语句不可引用


  • 1

Reply