linka2022 发表于 2022-5-24 21:01:48

杨辉三角形多打了一个等号输出全0,为什么?

求问下各位,在写(抄 列表 - 杨辉三角形作业题的时候,不小心把等号多打了两个,输出马上就全部转0了,没想明白问什么,求助...

原实现代码:

san = []
for i in range(10):
    san.append([])
    for j in range(10):
      san.append(0)

for i in range(10):
    san = 1 #此处多打一个'='号后,即san == 1, 下方同样多打,输出数字全部为0
    san = 1

for i in range(2, 10):
    for j in range(1, i):
      san = san + san
   
for i in range(10):
    for j in range(i+1):
      print(san, end=' ') #每行空格
    print() #每行空行

Twilight6 发表于 2022-5-24 21:05:29


单等号是赋值,双等号是判断是否相等,你初始化列表元素都为 0

所以当你写成双等号时,都没有对初始化后的列表进行更新,自然导致输出的列表全为 0
页: [1]
查看完整版本: 杨辉三角形多打了一个等号输出全0,为什么?