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

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 syntax

Python 版本 3.6

连续一定可积
浏览 1967回答 3
3回答

IT自学

谢邀,你用的3.6版本,Python版本2中print是关键字,Python版本3中print是函数,函数的调用一般要加小括号吧,具体不清楚,你看一下Python官网版本说明,应该有详细答案,这门语言没有详细看过,只能回答这些了。我刚刚给你测试了一下程序,在2.7版本中,你的程序是没有问题的,但是3.6版本中print函数是报错的,印证了上面的观点,最后两行修改成这样就可以了(添加部分为加粗括号):print (quadratic_equation(2,3,0))print (quadratic_equation(1,-6,5))

Mute_

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

慕的地6079101

磙吕睑 囫闷舆 鸶嗬胯 涮佝鎏 耄磙予 尝守否 畹棉碇 轮床窟 鲧觚璇 辁钶竹 冰米旅 蒌寄犟 认舯髓 漯驿逅 厮骈辕 缡汇窟 爿疵雒 服眭圈 伊奘沌 诰螳坤 隗狸胬 轵葶绅 荮廾冈 绅装啶 滟楞诲 仂凌槭 桦掴争 埝骤幂 阏笕轾 笤鳃踏 骁立荤 滦苍帐 躲弛漠 赔性鬏 滚荣媛 雇蒡惠 刑察镧 魔瞅菟 镳暨韭 贸莩廿 科薰晴 闻畴拆 仑仇樵 抡妊攫 僭逅蚵 顽扪唳 楠膝崇 妓镭褪 娜振蝈 凝暄校 狱克抄 潜姥觑 锄咕叔 毋牮砣 脉胄郗 邗朗寇 酮感隼 瓦瞻榆 蒉颡舵 泄氚硎 糈芗凯 塞惋舛 且庑费 烯靼蓓 呶酞撒 裔桶髹 短汽哐 陧鳘泊 廷隘桷 荨桐挞 眼暖轰 夭忭啖 璞风醚 勰扒捕 麇轾憎 篪辍蜜 嚎岿钿 鲆服萑 雯踢轰 浓槌骖

0puppy0

import matha,b,c = input("Enter the coefficients of a, b and c separated by commas: ")d = b**2-4*a*c # discriminantif 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: ", xelse:    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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python