2017-09-04 174 views
1

这里是我的代码。 我需要一些帮助来计算出打印功能。如何在Python中使用while循环语句打印每行6个值

x=0 

while x < 999: 
    if x%40 ==0: 
     print(format(x,'7d'),end='') 
    x = x + 1 

我试过的打印功能不适用于我。 我的代码不会打印出我想要的值。我希望它能打印出每行6个值。

我希望它能这样打印。

40 80 120 160 200 240 

280 320 360 400 440 480 

但相反,它可以打印在一个直线上,就像请帮助。

+0

注意到,'0'值也通过条件'X% 40 == 0',应该输出 – RomanPerekhrest

回答

0

在每个时间您打印的数量,使用print()如下:

x = 1 
counter = 0 while x < 999: 
    if x % 40 == 0: 
     counter += 1 
     print(format(x,'7d'),end='') 
    if counter == 6: 
     print() 
     counter = 0 
    x = x + 1 

输出为如下类似:

40  80 120 160 200 240 
280 320 360 400 440 480 
520 560 600 640 680 720 
760 800 840 880 920 960 
+0

我该如何将0从输出中取出。 – anon

+0

@anon查看我的编辑。我从1开始x – Nabin

0

我会用更多的变量,计数器:

输出:
 0  40  80 120 160 200 
    240 280 320 360 400 440 
    480 520 560 600 640 680 
    720 760 800 840 880 920 
    960 
1

在Python中,总是有做一些短的路:

arr = [format(x, '7d') for x in range(40, 999, 40)] 
print('\n'.join(''.join(arr[i:i+6]) for i in range(0, len(arr), 6))) 

,输出:

40  80 120 160 200 240 
280 320 360 400 440 480 
520 560 600 640 680 720 
760 800 840 880 920 960