以python 3為例關於迴圈中經常出現賦值問題的幾個形式(要賦值的變數a,迴圈變數b)就比如for i in range(n): 相對於b來說 1:a += b 是對每次b在迴圈過程中的值進行求和,每次迴圈中b與b之間沒有聯繫 2:b += b 是將每次b的值繼續帶入下一次迴圈中,會對下一次迴圈的 ...
以python 3為例
關於迴圈中經常出現賦值問題的幾個形式(要賦值的變數a,迴圈變數b)
就比如
for i in range(n): 相對於b來說
1:a += b -------是對每次b在迴圈過程中的值進行求和,每次迴圈中b與b之間沒有聯繫
2:b += b -------是將每次b的值繼續帶入下一次迴圈中,會對下一次迴圈的值造成影響
3:a = b -------是重新賦值,迴圈與迴圈之間沒有聯繫
4:b = 常數(一般為0) --------如果需要在迴圈中需要重置,則需要在迴圈裡邊將b初始化
這是在迴圈中一些細節,稍加不慎就有可能表示錯誤
就比如下麵這個例題:
輸入n,求1到n的階乘之和.
n = int(input())
sum = 0
for i in range(1, n+1):
part_sum = 1 --求某個值的階乘都是無關的,所以要對其重新賦值
for j in range(1, i+1):
part_sum *= j --將上次迴圈的值與這一次的j相乘,得到某個數的階乘,與上次迴圈有關。
sum += part_sum --再將每次得到的值和上次的sum相加,與上次迴圈值有關。
print(sum)