for i in range(0,7):
for j in range(0, 7 - i):
print(" ", end = "")
for k in range(0, 2 * i 1):
print("0", end = "")
print(" ")
我在網上看到這段代碼構建一個包含“0”的金字塔,我很困惑為什么我需要在第一個回圈的最底部使用 pint(" ") ?
uj5u.com熱心網友回復:
您正在使用printwithend=""逐個字符地構建行,而無需換行。
要構建金字塔,您需要跳到一行零之后的下一行,因此默認情況下print(" ")有一個end='\n'引數
沒有最后一次列印的輸出:
0 000 00000 0000000 000000000 00000000000 0000000000000
這是對代碼的修改,以顯示分隔符的位置:
for i in range(0,7):
for j in range(0, 7 - i):
print(" ", end = "-")
for k in range(0, 2 * i 1):
print("0", end = " ")
print("", end='=\n')
輸出:
- - - - - - -0 =
- - - - - -0 0 0 =
- - - - -0 0 0 0 0 =
- - - -0 0 0 0 0 0 0 =
- - -0 0 0 0 0 0 0 0 0 =
- -0 0 0 0 0 0 0 0 0 0 0 =
-0 0 0 0 0 0 0 0 0 0 0 0 0 =
這是初始代碼的較短替代方案,可直接使用單個回圈構建行:
n=7
for i in range(n):
print(' '*(n-i) '0'*(2*i 1))
輸出:
0
000
00000
0000000
000000000
00000000000
0000000000000
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/336429.html
上一篇:“for”回圈的單線?
