测试人社区

关于for循环嵌套打印问题

疑问:如题要输出大写的V,代码如下,代码1和代码2为什么输出结果不同,if循环中设置
str = str + ‘v’ 的作用是什么,按照怎样的方式打印的

代码1:

for i in range(3):
    str = ' '
    for j in range(5-i):
        if i == j or i + j == 4 :
            str = str + 'v'
        else :
            str = str + ' '
    print(str)

输出image
代码2:

for i in range(3):
    for j in range(5-i):
        if i == j or i + j == 4 :
            str = 'v'
        else :
            str = ' '
    print(str)

image

 str = str + 'v'

可以生成大V中每一行小v中的空格的组合

是这么理解吧,print语句在外部循环中,i=0,1,2时分别打印一次结果,当内部循环完一次时才会打印

看图,不懂可以问
image

嗯嗯,你说的对