0
点赞
收藏
分享

微信扫一扫

python for循环中循环变量外部使用时的注意事项

Java旺 2022-07-14 阅读 100


先来看一段代码,这里的代码用来计算​​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​​中,我们会得到如下的提示信息。

python for循环中循环变量外部使用时的注意事项_git


局部变量​​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_)

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~


举报

相关推荐

0 条评论