首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python中的while循环语句打印每行6个值?

如何使用python中的while循环语句打印每行6个值?
EN

Stack Overflow用户
提问于 2017-09-04 15:52:00
回答 3查看 131关注 0票数 1

这是我的密码。我需要一些帮助来弄清楚打印函数。

代码语言:javascript
复制
x=0

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

我尝试使用的打印函数不适用于我。我的代码也不会输出我想要的值。我要它打印出每一行6个值。

我想把它印成这样。

代码语言:javascript
复制
40 80 120 160 200 240

280 320 360 400 440 480

但相反,它打印在一个直线上,如请帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-04 16:14:06

在python中,做某事总是有一种很短的方法:

代码语言:javascript
复制
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)))

其中产出:

代码语言:javascript
复制
 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
EN

Stack Overflow用户

发布于 2017-09-04 15:58:44

在每次打印数字的第6次上,使用print()如下所示:

代码语言:javascript
复制
 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

产出类似于以下内容:

代码语言:javascript
复制
 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
EN

Stack Overflow用户

发布于 2017-09-04 15:59:03

我会使用额外的变量-计数器:

代码语言:javascript
复制
x = c = 0
l = ''   # resulting line
while x < 999:
    if x % 40 == 0:
        l += format(x,'7d')
        c += 1
        if c % 6 == 0:
            l += '\n'
    x += 1

print(l)

产出:

代码语言:javascript
复制
      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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46040569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档