设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第53课】 数学运算

[复制链接]

0

主题

0

好友

48

积分

新手上路

Rank: 1

楼主
发表于 2018-6-11 16:51:45 |显示全部楼层
  1. import math
  2. def result(a,b,c):
  3.     derat=b*b-4*a*c
  4.     if a==0:
  5.         return('a不能为0')
  6.     if derat==0:
  7.         x=-b/2*a
  8.         return x

  9.     elif derat>0:
  10.         x1=(-b+math.sqrt(derat))/2*a
  11.         x2=(-b-math.sqrt(derat))/2*a
  12.         return x1,x2
  13.     else:
  14.         return('无实根')



  15. while True:
  16.     a=int(input("请输入a的值:"))
  17.     b=int(input('请输入b的值:'))
  18.     c=int(input('请输入c的值:'))
  19.     if a == 0:
  20.         print('请重新输入:')
  21.     else:
  22.         break
  23. print(result(a,b,c))
复制代码
想让a=0的时候不用重新执行代码,可以直接重新输入,只有这个break能成功,用之前的bingo==False的方法就结束不了循环,不知道为什么
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

沙发
发表于 2018-6-11 16:54:43 |显示全部楼层
suiersoda 发表于 2018-6-11 16:51
想让a=0的时候不用重新执行代码,可以直接重新输入,只有这个break能成功,用之前的bingo==False的方法就结 ...
  1. bingo=False
  2. while bingo==False:
  3.     a=int(input("请输入a的值:"))
  4.     b=int(input('请输入b的值:'))
  5.     c=int(input('请输入c的值:'))
  6.     if a == 0:
  7.         print('请重新输入:')
  8.     else:
  9.         bingo==True
  10. print(result(a,b,c))
复制代码
这样结束不了这个循环
回复

使用道具 举报

0

主题

0

好友

48

积分

新手上路

Rank: 1

板凳
发表于 2018-6-12 10:28:36 |显示全部楼层
crossin先生 发表于 2018-6-11 21:31
bingo=True,不是bingo==True

啊,明白了!感谢先生每次这么晚还帮忙解答问题!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-18 09:48 , Processed in 0.028902 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部