我试图解决的任务可能是最好的解释:
我试图通过定义循环和函数来使用python输出每个位置的列表,但是一旦到达x = 0,y = 0 z = 1.0,它就会停止。在我看来,我的两个while循环不起作用....
我到目前为止的代码如下:
def zcoord():
global z
while z<=1.0:
print('%.2f' % x + ' %.2f' % y + ' %.2f' % z)
z+=0.1
def ycoord():
global y
while y<=1.0:
zcoord()
y+=0.1
def xcoord():
global x
while x<=1.0:
ycoord()
x+=0.1
x=0.0
y=0.0
z=0.0
xcoord()
答案 0 :(得分:3)
你的循环都在工作,但你的zcoord()
函数只打印一个循环。
第二次调用zcoord()
时,z
仍大于1.0
并且循环将无法运行,并且不会打印。< / p>
如果你想创建嵌套循环,那么使用整数更简单并除以10:
for x in range(11):
for y in range(11):
for z in range(11):
print('%.2f' % (x/10.0) + ' %.2f' % (y/10.0) + ' %.2f' % (z/10.0))
可以使用itertools.product()
:
from itertools import product
for x, y, z in product(range(11), repeat=3):
print('%.2f' % (x/10.0) + ' %.2f' % (y/10.0) + ' %.2f' % (z/10.0))