【问题标题】:Exception Handling (Easy Python)异常处理(简易 Python)
【发布时间】:2020-03-14 09:56:36
【问题描述】:
user_input = int(input("Enter your number: "))
try:
    if user_input == str
def is_perfect(n):
    try:
        total = 0
        for x in range(1,n):
            if n % x == 0:
             total = total + x
        return total == n
    except NameError:
        print "Error"



print(is_perfect(user_input))

我在处理异常时遇到了问题。我认为它在我的代码中的一些非常小的东西正在破坏它。

此代码接受用户输入并输出其是否为完美数字。当我测试输入字母时,输出中仍然出现名称错误。

谢谢!!!

【问题讨论】:

  • 这甚至不是有效的 Python 代码。您一定会收到语法错误,而不是 NameError。请使用正确的缩进发布您的实际代码。

标签: python python-3.x exception


【解决方案1】:

你的代码写得不好。我重新组织代码并修改错误处理部分。

更新:我将打印放在try 块中以防止NameError 异常。

这是新代码:

def is_perfect(n):
    total = 0
    for x in range(1, n):
        if n % x == 0:
            total = total + x
    return total == n

if __name__ == '__main__':

    try:
        user_input = int(input("Enter your number: "))
        print(is_perfect(user_input))
    except ValueError:
        print("Error: enter a number")

输出

Enter your number: 6
True

【讨论】:

  • 谢谢!我对这个平台很陌生,我不知道如何编辑我的代码!我尝试删除转发,但我也无法删除,对于它的外观非常抱歉:/。在做try and except时,在函数之外实现它们会更好吗?
  • 一般来说,只要你需要它就使用exception(我的意思是当你想防止错误的时候)。有时,可以在代码的一部分上引发异常并在另一部分处理它。您应该阅读Python 中的异常...
猜你喜欢
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 2011-10-09
  • 2017-04-05
相关资源
最近更新 更多