我正在写几段代码而且我有一些问题
def fanction(tata):
for i in range(0,4):
tata +i
print tata
tata = 0
fanction(tata)
结果
0
0
0
0
第二段代码:
def fbnction(tbtb):
for i in range(0,4):
print tbtb +i
tbtb = 0
fbnction(tbtb)
结果
0
1
2
3
第三段代码:
def fcnction(tctc):
for i in range(0,4):
print tctc, tctc +i
tctc = 0
fcnction(tctc)
结果
0 0
0 1
0 2
0 3
有人可以解释为什么,请取得不同的结果吗?我以为它会一直给我相同的结果。
答案 0 :(得分:4)
tata + i
不会更改tata
。它只是返回附加值。
如果您想要更改tata
,则需要分配添加的结果。
tata = tata + i
或
tata += i
>>> tata = 5
>>> i = 2
>>> tata + i
7
>>> tata # not changed
5
>>> tata = tata + i
>>> tata # changed
7
答案 1 :(得分:1)
在你的第一段和第三段代码中,tata + i不会影响tata。所以你需要在变量中分配添加的值才能得到相同的结果
tata = tata + i