先来看一段代码,这里的代码用来计算n*n! 的值。
def calculateFactorial(num):
factorial = 1
if num < 0:
print("输入数字有误,负数没有阶乘")
elif num == 0:
print("0 的阶乘为 1")
else:
for i in range(1, num + 1):
factorial = factorial * i
factorial = factorial * i
print("%d 乘以%d 的阶乘为 %d" % (num, num, factorial))
if __name__ == '__main__':
n_ = input("请输入一个数字: ")
if not n_.isdigit():
print("输入有误,输入应当为一个整数")
else:
n_ = int(n_)
calculateFactorial(n_)
这里的代码是可以正常执行获取到结果的,但是如果我们将这段代码写在PyCharm 中,我们会得到如下的提示信息。 局部变量i 可能在赋值之前被引用了。因此我们需要对这段代码做一些小的变动,在进行if-else 判断之前对i 进行一下赋值操作即可。代码如下:
def calculateFactorial(num):
factorial = 1
i = 1
if num < 0:
print("输入数字有误,负数没有阶乘")
elif num == 0:
print("0 的阶乘为 1")
else:
for i in range(1, num + 1):
factorial = factorial * i
factorial = factorial * i
print("%d 乘以%d 的阶乘为 %d" % (num, num, factorial))
if __name__ == '__main__':
n_ = input("请输入一个数字: ")
if not n_.isdigit():
print("输入有误,输入应当为一个整数")
else:
n_ = int(n_)
calculateFactorial(n_)
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~
|