Python基础问题请教?
请问如何实现执行函数Error1()和Error2()后再次开始while循环?importmathdefError1():print('二次项系数不能为0,请重新输入'...
请问如何实现执行函数Error1()和Error2()后再次开始while循环?
import math
def Error1():
print('二次项系数不能为0,请重新输入')
def Error2():
print('deta不能小于0,请重新输入')
def quadratic(a,b,c):
if a == 0:
Error1()
elif a != 0 and deta >= 0:
x1 = ((-b)+(math.sqrt(deta)))/(2*a)
x2 = ((-b)-(math.sqrt(deta)))/(2*a)
return x1,x2
elif deta < 0:
Error2()
while True:
a = float(input('请输入a的值:'))
b = float(input('请输入b的值:'))
c = float(input('请输入c的值:'))
deta = (b**2)-(4*a*c)
print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))
print('解题完成')
print('') 展开
import math
def Error1():
print('二次项系数不能为0,请重新输入')
def Error2():
print('deta不能小于0,请重新输入')
def quadratic(a,b,c):
if a == 0:
Error1()
elif a != 0 and deta >= 0:
x1 = ((-b)+(math.sqrt(deta)))/(2*a)
x2 = ((-b)-(math.sqrt(deta)))/(2*a)
return x1,x2
elif deta < 0:
Error2()
while True:
a = float(input('请输入a的值:'))
b = float(input('请输入b的值:'))
c = float(input('请输入c的值:'))
deta = (b**2)-(4*a*c)
print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))
print('解题完成')
print('') 展开
8个回答
展开全部
python中IDLE打不开,提示IDLE's subprocess didn't make connection,是设置错误造成的,解决方法如下:
1、首先,在电脑中先找到python安装位置。
2、进入安装目录之后,点击Lib文件夹。
3、然后点击“idlelib”文件夹。
4、在此文件夹找到 “idle.bat”文件。
5、最后双击这个 “idle.bat”文件,会弹出一个窗口,此时已经完成了打开IDLE的操作了。
1、首先,在电脑中先找到python安装位置。
2、进入安装目录之后,点击Lib文件夹。
3、然后点击“idlelib”文件夹。
4、在此文件夹找到 “idle.bat”文件。
5、最后双击这个 “idle.bat”文件,会弹出一个窗口,此时已经完成了打开IDLE的操作了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是你的分号是中文分号吧? 中文分号(:)和英文分号(:)是不一样的 以后记住在编程里对要注意中文符号和英文符号 编程是读不了中文符号的 你点对象 这个就是标准绝对路径,我用绝对路径都是在这里复制的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))
这里期望quadratic返回两个值;
quadratic中调用Error1()、Error1()没有返回值;
此时,print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))这句就会抛出错误从而结束.
将
print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))
print('解题完成')
这两句放到try块中即可。
这里期望quadratic返回两个值;
quadratic中调用Error1()、Error1()没有返回值;
此时,print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))这句就会抛出错误从而结束.
将
print('x1=%.1f,x2=%.1f'%quadratic(a,b,c))
print('解题完成')
这两句放到try块中即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答:应该是你的分号是中文分号吧? 中文分号(:)和英文分号(:)是不一样的 以后记住在编程里对要注意中文符号和英文符号 编程是读不了中文符号的 你点对象 这个就是标准绝对路径,我用绝对路径都是在这里复制的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是你的函数里没有return返回,调用完函数后没有返回。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询