语法异常

时间:2013-05-14 10:13:24

标签: python python-3.x

我在这段代码中得到了一个语法异常** + 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()))

对于那些对我的问题不屑一顾的人我接受了我的错误,但是对我的帖子给出了否定信息让我觉得不要问这个问题。如果它与本网站上的任何主题无关,则可以提供否定。但是对于我所犯的错误并请求帮助进行复查,即使你发现它是愚蠢的,因为我知道了这个错误你不应该给予否定,这会让人失去动力。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

示例:

>>> 2**3    #2 to the power 3
8

答案 2 :(得分: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()))