【问题标题】:Using try statement, but giving me syntax error使用 try 语句,但给我语法错误
【发布时间】:2019-09-18 20:41:13
【问题描述】:

简单的问题。我需要让用户输入一个数字,然后使用 try/except 将字符串转换为整数。

我以前做过类似的事情。事实上,我以前做过更复杂的事情,这就是为什么我很困惑为什么我的代码不起作用。

userNum = input('enter a number: ')
try:
    num = int(userNum)

由于某种原因,这会导致语法错误。 错误声明如下:

Syntax Error:     num = int(userNum): <string>, line 3, pos 23

谁能告诉我为什么这会导致问题以及如何解决它?我很困惑。

【问题讨论】:

  • 很确定我的代码是正确的 - 编译器告诉您代码中存在语法错误这一事实应该强烈暗示您的代码不是 对。
  • @SergeyA pretty pretty,意思是漂亮,所以,是的。

标签: python syntax-error try-catch try-except


【解决方案1】:

如果您希望某事总是发生,您可以使用 finally,如果您希望某事在错误时发生,请使用 except:

userNum = input('enter a number: ')
try:
    num = int(userNum)
finally:
    print("something")

或:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except Exception:
  print("exception something")
finally:
    print("something")

或:

userNum = input('enter a number: ')
try:
    num = int(userNum)
except Exception:
    print("exception something")

【讨论】:

    【解决方案2】:

    Try 需要至少有一个 except 或 finally 表达式如下:

    userNum = input('enter a number: ')
    try:
        num = int(userNum)
    except ValueError as e:
        print(e)
    

    【讨论】:

    • 如果您提供finally 子句,则可以省略except 子句。
    【解决方案3】:

    syntax of a try statement 中,您可以看到至少有一个except 部分finally 部分是强制性的。

    使用 except: 的工作代码:

    userNum = input('enter a number: ')
    try:
        num = int(userNum)
    except:
        print("you didn't enter a number")
    print(num)
    

    Try it online!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2018-11-28
      • 2011-05-04
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多