进程没有到达try块内的一行
我正在尝试自学 python 并编写了一个基本程序来添加第 n 个数字的总和。当我给出一个整数输入时,它执行得很好,但在非整数输入上,抛出一个错误NameError: name 'add_it_up' is not defined。我的程序写在下面。
try:
x = int(input('Enter the number upto which you want to add :'))
try:
def add_it_up(x):
sum = 0
for num in range(x + 1):
sum = sum + num
print(sum)
except TypeError:
print("Sorry we are facing a problem")
except ValueError:
print("Please enter an intiger value only")
add_it_up(x)
回答
您是在 try 块中定义一个函数,而不是运行它。将add_it_up函数放在 try/except 之外,然后在内部调用它。像这样:
def add_it_up(x):
sum = 0
for num in range(x + 1):
sum = sum + num
print(sum)
try:
x = int(input('Enter the number upto which you want to add :'))
try:
add_it_up(x)
except TypeError:
print("Sorry we are facing a problem")
except ValueError:
print("Please enter an intiger value only")