-4

我在 a** + b** == c** 处的这段代码中遇到语法异常:我不知道问题是什么帮助我..

def getValue():
    a, b,c =1,2,3;

    while a:
        while b:
            while c:
                if a + b + c ==  1000 and a** + b** == c**:
                        print("A : {} B : {} C:{}".format( a, b, c))
                        return a*b*c;
                else:
                    c += 1;
            b += 1;
        a+=1;


print("Answer : {}".format(getValue()))

对于那些对我的问题持否定态度的人,我接受我所做的错误,但对我的帖子给出否定意见让我觉得不要问这个问题。如果它与本网站上的任何主题无关,您可以提供否定。但是对于我犯的错误并寻求帮助进行审查,即使您在了解错误后发现它很愚蠢,您也不应该给出否定的答案,那会令人沮丧。

4

3 回答 3

6

胡乱猜测:

if a + b + c ==  1000 and a**2 + b**2 == c**2:

请注意,在这里循环 c 真的毫无意义,您可以使用c = 1000 - b - a

也使用for循环而不是while. 你是从其他语言移植这个吗?

def getValue():
    for a in range(1, 1000):
        for b in range(a, 1000):
            c = 1000 - a - b
            if a ** 2 + b ** 2 == c ** 2:
                print("A : {} B : {} C:{}".format(a, b, c))
                return a * b * c
于 2013-05-14T10:15:09.497 回答
1

**运算符需要两个数字操作数,而您只使用了一个。

例子:

>>> 2**3    #2 to the power 3
8
于 2013-05-14T10:15:18.667 回答
0
def getValue():
    a, b,c =1,2,3;

    while a:
        while b:
            while c:
                if a + b + c ==  1000 and a**2 + b**2 == c**2:
                        print("A : {} B : {} C:{}".format( a, b, c))
                        return a*b*c;
                else:
                    c += 1;
            b += 1;
        a+=1;


print("Answer : {}".format(getValue()))
于 2013-05-14T10:15:26.620 回答