Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套循环打印星形(*)[python]_Python_Nested Loops - Fatal编程技术网

嵌套循环打印星形(*)[python]

嵌套循环打印星形(*)[python],python,nested-loops,Python,Nested Loops,下面的代码等于预期的输出。我只想问,为什么打印单个星号时需要先打印(),但打印多个星号时不需要打印() n = '*' for i in range(1,7): for j in range(1,6): if i == 1 and j < 6: print(n, end = '') elif i == 2 and j == 1: print() print(

下面的代码等于预期的输出。我只想问,为什么打印单个星号时需要先打印(),但打印多个星号时不需要打印()

n = '*'

for i in range(1,7):    
    for j in range(1,6):

        if i == 1 and j < 6:
            print(n, end = '')
    
        elif i == 2 and j == 1:
            print()
            print(n)
            
        elif i == 3 and j < 5:
            print(n, end = '')

        elif i == 4 and j == 1:
           print()
           print(n)

        elif i == 5 and j == 1:
           print(n)            
          
        elif i == 6 and j == 1:
            print(n)
n='*'
对于范围(1,7)内的i:
对于范围(1,6)内的j:
如果i==1且j<6:
打印(n,结束=“”)
如果i==2和j==1:
打印()
打印(n)
elif i==3且j<5:
打印(n,结束=“”)
如果i==4和j==1:
打印()
打印(n)
如果i==5和j==1:
打印(n)
如果i==6和j==1:
打印(n)

当您打印单个星号时,只需执行
打印(n)
,其中
n=“*”

请注意,当使用函数“打印”时,它会自动在末尾插入一个换行符(
\n
),这样每当您再次打印内容时,它就会出现在一个换行符上。
但是,这可以通过执行
print(n,end='')
来覆盖。这不会将换行符放在末尾,而是将结尾字符放在末尾。
因此,现在,下一次打印不会转到下一行,而是继续在同一行上进行。

因此,当您想在新行上打印星号时,您需要执行
print()
,它只打印一个换行字符,然后下一次打印将在新行上打印。

用于
print
的默认
end
参数是一个换行(
'\n'
)。代码中打印多个星号的两个子句都去掉了带有
end=''
(空字符串)的换行符。这就让下一个子句使用
print()
添加换行符


编辑:澄清什么是
'

使用此
打印(n,end='')
命令时,它将打印在同一行上。要在下一行打印,需要使用
print()
。如果不使用
print()
它将继续在同一行上打印。

确定因此,每当我在代码中包含(end='')时,下一个参数仍将跟踪end作为“”,而不是/n,即使它是默认输出?凉的非常感谢。重要的是要认识到换行符是要打印的字符,就像字母一样。唯一的区别是,默认情况下,
print
将在换行符的常规参数之后打印换行符。通过将
end
更改为空字符串,可以抑制换行输出。下面的
print
调用实际上并没有“跟踪”任何内容。明白了。再次感谢你!这是我第一次学习python,我不知道当我打印时,上一个参数(end='')在下一行仍然有效。谢谢你分享你的知识。我将注意到它的进展情况。