【发布时间】:2013-06-07 06:38:09
【问题描述】:
我正在尝试创建一个程序来检查一个等式是否创建了一个整数答案,但该等式创建的浮点数不会与整数进行比较。当它到达第一个整数(应该是 390625)时,它会将其打印为 390625.0,并且当它到达该数字时它不会离开 while 循环。
我是编程新手,所以请保持简单。
from myro import *
from math import *
def main():
z = 3
a = 2
b = 2
x = 3
y = 3
lim = 25
c = (a**x + b**y)**(1.0/z)
while int(c) != c:
while z <= lim:
while a <= lim:
while b <= lim:
while x <= lim:
while y <= lim:
c = (a**x + b**y)**(1.0/z)
print a, b, c, x, y, z
y = y + 1
y = 3
print a, b, c, x, y, z
x = x + 1
x = 3
print a, b, c, x, y, z
b = b + 1
b = 3
print a, b, c, x, y, z
a = a + 1
a = 3
print a, b, c, x, y, z
z = z + 1
print "code cycle complete. no numbers meet criteria"
print str(a) + "^" + str(x) + " + " + str(b) + "^" + str(y) + " = " + str(c) + "^" + str(z)
main()
【问题讨论】:
-
蝙蝠侠住在山洞里而不是窝里傻。
-
你是想找到解方程的第一个积分c,还是任何积分c?
-
Yesh :3 当它达到使 int(c) 和 c 相等的第一个数字时,它应该在 str(a) 等末尾打印语句。
-
好的。我看到@Sinoj 的回答为您解决了这个问题,但是,将来,
break声明可能会对您有所帮助。我不是returns 的粉丝,除了函数的最后一条语句之外的任何地方。 :P (简而言之,如果c是整数,你会break,然后返回它。)
标签: python while-loop integer point floating