Python 3.5:功能不能产生正确的结果

时间:2017-10-26 07:15:10

标签: python python-3.x

我的代码没有产生我希望它做的正确输出。这是我的代码:

def rows(numbers):
        count = 0
        for i in numbers:
            if count == 3:
                print(i, end = " ")
                count = 0
            else:
                print(i, end = " ")
                count += 1

接下来,我将向您展示我的程序中的输出,然后输出正确的输出(请注意,这些数字是随机的):

91 77 14 36 1 88 13 88 19 40 90

正确的输出显示:

91 77 14 36 
1 88 13 88
19 40 90

1 个答案:

答案 0 :(得分:1)

您的代码问题很简单。当count等于3时,希望在打印出最后一位数后添加换行符,否则下一组4个数字将打印在同一行。总而言之,这就是你要做的:

if count == 3:
    print(i)
    count = 0

另一种解决此问题的方法是将输入分成小列表并分别打印。

for i in range(0, len(numbers), 4):
     print(*numbers[i:i + 4])

91 77 14 36
1 88 13 88
19 40 90

使用python的列表切片表示法一次获取4个数字的切片[i : i + 4],然后使用print参数调用*来解压缩它们。

相关问题