【问题标题】:I cannot figure out why my output is being printed twice我不明白为什么我的输出被打印了两次
【发布时间】:2022-12-08 22:35:04
【问题描述】:

我有一个具有 2 个函数的脚本。第一个函数计算传递给它的数字的阶乘,第二个函数接受一个整数并打印出直到该数字的所有阶乘。它正在正确计算阶乘并正确打印集合,但它打印了两次集合,这让我感到困惑。

这是我的代码,我希望它只打印一次 1 - 362880 但它会打印两次,如下所示。那里的“无”对我来说也没有意义。对此有什么想法吗?

代码:

#calculate factorial of a number
def factorial(n):
    #initialize and assign product to be returned to the print function
    product = 1
    for i in range(1, n + 1):
        product = product * i
    return product

#print factorials up to 1 less than given argument
def print_factorial(n):
    for i in range(n):
        print(factorial(i))

print_factorial(10)

结果: 1个 1个 2个 6个 24 120 720 5040 40320 362880 1个 1个 2个 6个 24 120 720 5040 40320 362880 没有任何

【问题讨论】:

  • 试过你的代码,它工作正常,它没有打印两次
  • 好的,谢谢,这可能与 coursera 测验解释器表现得很时髦有关

标签: python printing output


【解决方案1】:

factorial(0)factorial(1)都返回1,所以1会被打印两次。

【讨论】: