【问题标题】:Python 3.5: Function not yielding the proper results [closed]Python 3.5:函数没有产生正确的结果[关闭]
【发布时间】:2017-10-26 07:15:09
【问题描述】:

我的代码没有产生我想要的正确输出。这是我的代码:

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

【问题讨论】:

  • 如果 count 为 3,您想要添加一个换行符。 if count == 3: print(i)
  • 哇,我不敢相信我错过了。感谢您的帮助!
  • 如果您想要另一种解决问题的方法,您可能会看到我的回答。

标签: python python-3.x


【解决方案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 以解压缩它们。

【讨论】:

  • 哇,不知道*这个把戏,其实很有用...
猜你喜欢
  • 2014-03-14
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多