如何在循环完成后每次打印字符
How to print character every time after a loop is completed
我在打印以下图案时遇到问题,不知道如何解决。
注意:必须使用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
你只需要一个循环。您可以选择 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
####
请小心,因为每次 with 循环结束时 z 都会获取 range() 中的值。 mozway 是对的,但我认为 n 应该从 1:
开始
n = 1
while n < 6:
print(n)
print(n+1)
print('####')
n += 2
问题的发生是因为在 z += 1
中你假设你正在改变 for z in range(10):
中的 z 值,但在这个 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
####
我在打印以下图案时遇到问题,不知道如何解决。
注意:必须使用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
你只需要一个循环。您可以选择 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
####
请小心,因为每次 with 循环结束时 z 都会获取 range() 中的值。 mozway 是对的,但我认为 n 应该从 1:
开始n = 1
while n < 6:
print(n)
print(n+1)
print('####')
n += 2
问题的发生是因为在 z += 1
中你假设你正在改变 for z in range(10):
中的 z 值,但在这个 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
####