我在列印以下圖案時遇到問題,不知道如何解決。
注意:必須使用 for 和 while 回圈。
我正在嘗試實作以下模式:
0
1
####
2
3
####
4
5
####
但我得到:
0
1
####
1
2
####
2
3
####
3
4
####
我正在使用的代碼是:
n = 0
for z in range(10):
while n < 2:
print(z)
z = 1
n = 1
print("####")
n = 0
uj5u.com熱心網友回復:
你只需要一個回圈。您可以選擇while或for
版本while:
n = 0
while n < 6:
print(n)
print(n 1)
print('####')
n = 2
版本for:
for n in range(0, 6, 2):
print(n)
print(n 1)
print('####')
如果您真的想使用兩個回圈(如果您想在 #### 之間列印超過 2 個數字的系列,可能會很有用):
for n in range(0, 6, 2):
for z in range(2):
print(n z)
print('####')
輸出:
0
1
####
2
3
####
4
5
####
uj5u.com熱心網友回復:
小心,因為每次 with 回圈結束時 z 都會取 range() 中的值。mozway 是對的,但我認為 n 應該從 1 開始:
n = 1
while n < 6:
print(n)
print(n 1)
print('####')
n = 2
uj5u.com熱心網友回復:
問題的發生是因為z = 1您假設您正在更改 z in 的值for z in range(10):,但在此 for 回圈中,每次迭代中 z 的值是 [0,1,2,3, 4],所以它會丟棄z = 1你所做的操作,所以它會重復#####.
這個問題的解決方案是做這樣的事情,檢查 if 陳述句中的 n 是否為 2 并且不要更改 z 的值:
n = 0
for z in range(10):
print(z)
n = 1
if (n==2):
print("####")
n = 0
這將列印:
0
1
####
2
3
####
4
5
####
6
7
####
8
9
####
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/313518.html
標籤:Python 蟒蛇-3.x for循环 while 循环
