我目前正在学习软件开发作为初学者,我在编程课上有一个任务是使用循环计算和显示阶乘。我已获得伪代码,必须将其转换为真实代码并在 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/