进程没有到达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")


以上是进程没有到达try块内的一行的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>