-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 つの数値オペランドを想定していますが、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 に答える