zzxzrm 发表于 2021-1-28 09:12:10

关于python的二元表达式

def fobo1(n):
    a=1
    b=1
    c=
    for i in range(n):
      b=a+b
      a=b-a
      c.append(b)
    return b,c
print(fobo1(5))
def fobo2(n):
    a=1
    b=1
    c=
    for i in range(n):
      b,a=a+b,b-a
      
      c.append(b)
    return b,c
print(fobo2(5))
   
两个函数除了这个a和b的表达式不一样 其他都相同 但是输出结果不同

Twilight6 发表于 2021-1-28 09:21:48



因为 fobo2 函数的:
b,a=a+b,b-a

就相当于在 a、b 都没改变时同时执行:
b=a+b、a=b-a

而你第一个 fobo1 函数是先将 b 重新赋值,然后在进行 a = b-a 的计算


页: [1]
查看完整版本: 关于python的二元表达式