0
import math
import easygui as eg

eg.msgbox("This program solves quadratic equations Enter the values of a, b and c ")

a=eg.integerbox("enter a") 

当我尝试输入负数或超过 99 的数字时,整数框不会让我,有什么办法可以解决这个问题

b=eg.integerbox("enter b")

c=eg.integerbox("enter c")


i = b**2-4*a*c 

if d < 0:
    eg.msgbox("There are no real solutions")
elif i == 0:
    x = (-b+math.sqrt(i))/(2*a)

    eg.msgbox("heres your solution: "), x
else:
    x1 = (-b+math.sqrt(i))/(2*a)
    x2 = (-b-math.sqrt(i))/(2*a)
    eg.enterbox(msg="you have 2 solutions", default=(x1,x2))
4

1 回答 1

2

integerbox调用时尝试更改函数的默认参数。具体来说,您要更改为允许负数的是lowerbound. 这是完整的定义,integerbox因此您可以查看所有参数。

integerbox(msg='', title=' ', default='', lowerbound=0, upperbound=99, image=None, root=None, **invalidKeywordArguments)

可以通过以下方法访问任何平台上整数的最小值:

import sys
a=eg.integerbox(msg='enter a', lowerbound = -sys.maxint - 1)

可以通过 访问 int 的上限sys.maxint

于 2013-09-07T21:08:53.050 回答