我的python程序有什么问题?
我正在学习使用ProjectEuler编写python代码。我已经编写了以下程序,我认为应该可以工作:我的python程序有什么问题?,python,Python,我正在学习使用ProjectEuler编写python代码。我已经编写了以下程序,我认为应该可以工作: a=1 b=1 c=1 while(a<=998): while(b<=998): c=(1000-(a+b) if (a*a+b*b==c*c): print a,b,c b=b+1 a=a+1 这是无效的。谁能告诉我这是为什么 谢谢前一行缺少右括号: c=(1000-(a+b) 假设您正在寻找满足条件的勾股三元组,并且不希
a=1
b=1
c=1
while(a<=998):
while(b<=998):
c=(1000-(a+b)
if (a*a+b*b==c*c):
print a,b,c
b=b+1
a=a+1
这是无效的。谁能告诉我这是为什么
谢谢前一行缺少右括号:
c=(1000-(a+b)
假设您正在寻找满足条件的勾股三元组,并且不希望三角形具有负边:
for a in range(1, 999):
for b in range(1, 1000 - a):
c = 1000 - (a + b)
if a * a + b * b == c * c:
print a, b, c
您可以按如下顺序获得唯一的三联体:
for a in range(1, 999):
for b in range(a, 1000 - a):
c = 1000 - (a + b)
if a * a + b * b == c * c:
print a, b, c
您的原始代码中有一个输入错误:c=1000-a+b有些问题在发布之前应该在这里经过一个基本的编译:您不应该将制表符和空格混合在一起,我建议您的代码只使用空格进行格式化谢谢。我现在觉得自己很笨。我是个新手,我不认为翻译说的一条线上的错误可能真的在其他地方。
for a in range(1, 999):
for b in range(a, 1000 - a):
c = 1000 - (a + b)
if a * a + b * b == c * c:
print a, b, c