为什么我的python代码会得到两个不同的输出?

时间:2020-02-22 06:38:54

标签: python python-3.x

def kaka(name):
    r=''
    for ch in name:

        r=r+ch*3
    return r 

输出:

>>> kaka('Mississippi')
>>> 'MMMiiissssssiiissssssiiippppppiii'

但是对于此代码:

def kaka(name):   
    for ch in name:

        r=''
        r=r+ch*3
    return r

我得到的输出为:iii

2 个答案:

答案 0 :(得分:1)

那是因为在第二个代码中,您将r重新分配回了空字符串''。因此,您只会获得3倍的最终字符(对于密西西比州,该字符为i)。

答案 1 :(得分:0)

您将获得2个不同的输出,因为在第一个代码中,您正在for循环外初始化r的值,即r ='',而在第二个程序中,您正在for循环内初始化r的值。