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

求助求助,个人感觉程序没有错误,为什么运行出错,用的IDLE

求助求助,个人感觉程序没有错误,为什么运行出错,用的IDLE

连续一定可积 2017-01-30 18:24:58
import math def quadratic_equation(a,b,c):     D=b*b-4*a*c     if D<0:         return     elif D==0:         return -b/(2*a)     else:         x1=(-b + math.sqrt(D))/(2*a)         x2=(-b - math.sqrt(D))/(2*a)         return x1,x2 print quadratic_equation(2,3,0) print quadratic_equation(1,-6,5)报错:SyntaxError: invalid syntaxPython 版本 3.6
查看完整描述

3 回答

已采纳
?
IT自学

TA贡献16条经验 获得超25个赞

谢邀,你用的3.6版本,Python版本2中print是关键字,Python版本3中print是函数,函数的调用一般要加小括号吧,具体不清楚,你看一下Python官网版本说明,应该有详细答案,这门语言没有详细看过,只能回答这些了。

我刚刚给你测试了一下程序,在2.7版本中,你的程序是没有问题的,但是3.6版本中print函数是报错的,印证了上面的观点,//img1.sycdn.imooc.com//588fed720001157804000078.jpg

最后两行修改成这样就可以了(添加部分为加粗括号):

print (quadratic_equation(2,3,0))

print (quadratic_equation(1,-6,5))

查看完整回答
4 反对 回复 2017-01-31
?
Mute_

TA贡献3条经验 获得超4个赞

你这用的是2.7的话应该是可以通过的。但是Python3.6的版本还是有些语法和2不一样,比如这个print 是要加括号的,因为在python3.0以上的版本当中 print 当做函数调用,可以说是更规范,但是对于习惯2的人来说还是有些灾难的感觉。如果你学的书籍是有关2的 ,那就学习一下2 与3的区别。

查看完整回答
1 反对 回复 2017-01-31
?
0puppy0

TA贡献24条经验 获得超7个赞

import math
a,b,c = input("Enter the coefficients of a, b and c separated by commas: ")

d = b**2-4*a*c # discriminant

if d < 0:
   print "This equation has no real solution"

elif d == 0:
   x = (-b+math.sqrt(b**2-4*a*c))/2*a    

   print "This equation has one solutions: ", x

else:
   x1 = (-b+math.sqrt(b**2-4*a*c))/2*a
   x2 = (-b-math.sqrt(b**2-4*a*c))/2*a    

  print "This equation has two solutions: ", x1, " and", x2

查看完整回答
反对 回复 2017-01-30
  • 3 回答
  • 0 关注
  • 1959 浏览
慕课专栏
更多

添加回答

举报

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