x=0
y=0
while 1==1:
while y!=5:
y=y+1
print(str(x) + str(y))
else:
x=x+1
#NOW GO TO WHILE 1==1 AND DO THAT AGAIN
此代码应打印01; 02; 03; 04; 05
,然后打印11; 12; 13; 14; 15
。但实际上它只进行了前五次打印,因为我不知道如何在else:
之后再次开始。
答案 0 :(得分:2)
这是一个与你的结构类似的工作代码:
x = 0
y = 0
while x != 2:
while y != 5:
y = y + 1
print(str(x) + str(y))
else:
y = 0
x = x + 1
但请不要这样做。相反:
for x in range(2):
for y in range(5):
print '%d%d' % (x,y+1)
答案 1 :(得分:0)
我想说一个更好的方法是做一个嵌套的for循环。
答案 2 :(得分:0)
from itertools import count
for x in count():
[print('{}{}'.format(x, y)) for y in range(1, 6)]
它是Pythonic(希望这不是你的作业)。
答案 3 :(得分:0)
只需删除else:
并使用格式化打印即可避免打印总和。
更好的代码版本是:
x = 0
while 1 == 1:
y = 1
while y <= 5:
print '%d%d' % (x,y)
y = y+1
x = x+1
答案 4 :(得分:0)
首先是你的代码输出:
1
2
3
4
5
然后停止。你要的是这个:
01
02
03
04
05
11
12
13
[...]
要获得此输出,您需要一个无限循环,该循环不断递增x
以使用以下代码开始:
x = -1
while True:
x += 1
然后你需要一个循环,它将y从1增加到5并打印x和y的字符串连接:
for y in range(5):
print(str(x) + str(y+1))
将for循环嵌入while循环中,然后瞧!
x = -1
while True:
x += 1
for y in range(5):
print(str(x) + str(y+1))