为什么我的python代码有两个不同的输出?

为什么我的python代码有两个不同的输出?,python,python-3.x,Python,Python 3.x,输出: def kaka(name): r='' for ch in name: r=r+ch*3 return r 但对于此代码: >>> kaka('Mississippi') >>> 'MMMiiissssssiiissssssiiippppppiii' 我得到的输出是:iii,这是因为在第二个代码中,您将r赋值回空字符串。因此,您只能将密西西比州的最终字符乘以3倍,即i。您将得到两个不同的输出,因为在第一

输出:

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

        r=r+ch*3
    return r 
但对于此代码:

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

我得到的输出是:iii

,这是因为在第二个代码中,您将r赋值回空字符串。因此,您只能将密西西比州的最终字符乘以3倍,即i。

您将得到两个不同的输出,因为在第一个代码中,您在for循环外初始化r的值,在第二个程序中,您在for循环内初始化r的值。

您可以通过检查或打印r进行调试循环的每次迭代。
def kaka(name):   
    for ch in name:

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