python - 在 Python3 中使用循环计算阶乘

标签 python loops factorial

我目前正在学习软件开发作为初学者,我在编程课上有一个任务是使用循环计算和显示阶乘。我已获得伪代码,必须将其转换为真实代码并在 REPL 中对其进行测试以确保它返回预期结果。

我几乎搞定了,但我遇到了两个我似乎无法解决的问题。

1) 该函数在计算后返回额外的一行“None”

2) 当我希望它显示在一行上时,答案显示在多行上。

我当前的代码(返回正确答案)如下:

def calcFactorial(number):
    factorial = 1
    print(str(number)+"! =", number)
    for count in range (1, number):
        if number-count > 0:
            factorial = factorial*number-count
            print("x", str(number-count))
    factorial = factorial*number
    print("=", factorial)

当我测试时,例如使用 3,REPL 返回以下内容:

>>> print(calcFactorial(3))
3! = 3
x 2
x 1
= 12
None

所以我得到了正确的答案,但是我想删除额外的一行“无”(我相信它与打印功能有关?)而且我不知道如何正确格式化它。 任何帮助将不胜感激。

最佳答案

你的函数 calcFactorial(3) 已经打印出来了,所以你不应该调用它

print(calcFactorial(3))

只需调用它

calcFactorial(3)

没有打印功能。

您可能会考虑调用函数 calc_and_print_factorial() 以明确表示此函数已经进行了打印

关于python - 在 Python3 中使用循环计算阶乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58652079/

相关文章:

java - 开关出现奇怪的错误

Java程序无限循环

for循环中的比较运算符(C语言)

c++ - 为什么使用 int64_t 会给出错误的结果,而 double 对于简单的整数乘法却按预期工作

c# - 将 95 阶乘打印为数字而不是指数函数

javascript - (仍然)对 javascript 闭包、ajax 和返回值更加困惑

python - 从 QML 访问 qresource 文件中的图像

python - 'geckodriver' 可执行文件需要在 PATH 中

python - 如何在python中多线程调用另一个端点方法?

Python .join 或字符串连接