2014-10-27 92 views
1
for i in range(1,11): 
    print(i,end=":") 
    if i < 100: 
     square = i * i 
     print(square) 
上面生病得到下面的输出代码

这样:Python的数学逻辑错误

1:1 
2:4 
3:9 
4:16 
5:25 
6:36 
7:49 
8:64 
9:81 
10:100 

现在我想总的数字与这个新的代码添加右:

for i in range(1,11): 
    print(i,end=":") 
    if i < 100: 
     square = i * i 
     total = square + square 
     print(square) 
print(total) 

,我得到下面的输出:

1:1 
2:4 
3:9 
4:16 
5:25 
6:36 
7:49 
8:64 
9:81 
10:100 
200 

我的数学逻辑很明显,但我似乎无法解决它。

回答

0

因为您之前没有定义过总数,所以您要添加两倍的正方形,而不是将总平方增加。

FROM:

for i in range(1,11): 
    print(i,end=":") 
    if i < 100: 
     square = i * i 
     total = square + square 
     print(square) 
print(total) 

TO:

total = 0 
for i in range(1,11): 
    print(i,end=":") 
    if i < 100: 
     square = i * i 
     total = total + square 
     print(square) 
print(total) 
0

声明循环之前一个total=0和切换你的

total = square + squaretotal += square