【问题标题】:"IndentationError: unindent does not match any outer indentation level" after try block\"IndentationError: unindent does not match any outer indentation level\" 在 try 块之后
【发布时间】:2022-11-27 00:16:35
【问题描述】:

所以当我运行程序时出现这个错误。该错误应该在“try”块之后的第 11 行,但这正是我用来学习 python 的书的作者如何显示它的。有人能帮我吗?

print("Give me two number, and I'll divide them.")
print("Enter 'q' to quit.")

while True:
   first_number = input("\nFirst number: ")
   if first_number == 'q':
      break
   second_number = input("Second number: ")
   if second_number == 'q':
       break
    try:
       answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("You can't divide by zero!")
    else:
       print(answer)

我想让它工作,但它没有。

【问题讨论】:

  • 只需删除try:except:else: 之前的空格,就像我对您的问题所做的编辑一样。
  • 不要以消除所问问题的方式编辑问题。

标签: python indentation try-except


【解决方案1】:

您的 try 块相对于之前的缩进向右移动了 1 个空格:

while True:
    first_number = input("
First number: ")
    if first_number == 'q':
        break
    second_number = input("Second number: ")
    if second_number == 'q':
        break
    try:
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("You can't divide by zero!")
    else:
        print(answer)

【讨论】:

    【解决方案2】:

    从第 11 行开始的缩进有问题。右边是 1 个空格。我建议您使用像 PyCharm 或 VSCode 这样的 IDE(都是免费的),因为它不仅可以帮助您发现此类错误,而且可以帮助您发现更难检测的错误,例如 default mutable argument

    就个人而言,我熟悉 PyCharm,您应该在 PyCharm 中使用 Tab 更改缩进(它实际上将其转换为 4 个空格;切勿将 Tab 与空白混用)。

    print("Give me two number, and I'll divide them.")
    print("Enter 'q' to quit.")
    
    while True:
        first_number = input("
    First number: ")
        if first_number == 'q':
            break
        second_number = input("Second number: ")
        if second_number == 'q':
            break
        try:
            answer = int(first_number) / int(second_number)
        except ZeroDivisionError:
            print("You can't divide by zero!")
        else:
            print(answer)
    

    【讨论】:

      猜你喜欢
      • 2016-07-09
      • 1970-01-01
      • 2017-02-24
      • 2013-05-14
      • 2011-05-10
      • 2022-01-08
      • 2022-12-01
      • 2020-09-18
      相关资源
      最近更新 更多