以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)

发表回复