我目前正在学习软件开发作为一个初学者,我有一个任务,在我的编程类计算和显示阶乘使用循环。我已经得到了伪代码,必须将其转换为真代码,并在REPL中测试它,以确保它返回预期的结果。你知道吗
我几乎有,但我遇到了两个问题,我似乎无法解决。你知道吗
1)函数在计算和
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
因此,我有正确的答案,但有一个额外的行“无”,我想删除(我相信这与打印功能有关?)我不知道如何正确格式化。 任何帮助都将不胜感激。你知道吗
关于你的第二个问题:
您可以使用一个print语句来修复它:
这将为您提供:
另一方面:您可能需要考虑如何递归地实现它。也许这会在你的课程后面出现,但这将是第一个去的例子之一。你知道吗
你的函数calcFactorial(3)已经打印出来了,所以你不应该用
就这么说吧
没有打印功能。你知道吗
您可以考虑调用函数
calc_and_print_factorial()
,以明确说明此函数已经完成了打印您的
calcFactorial
函数没有显式返回值,因此默认情况下它将返回None
,因此print(calcFactorial(3))
将始终打印None
。你知道吗您应该使
calcFactorial
函数在末尾返回factorial
:相关问题 更多 >
编程相关推荐