Python数学逻辑错误

时间:2014-10-27 03:44:25

标签: python math

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

所以使用上面的代码得到以下输出:

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

我的数学逻辑显然是关闭但我似乎无法解决它。

2 个答案:

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

答案 1 :(得分:0)

在循环之前声明total=0并切换

total = square + squaretotal += square