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

我以前做过类似的事情。 实际上,我之前做过很多复杂的事情,这就是为什么我如此困惑为什么我的代码无法正常工作的原因。

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

由于某种原因,这会导致语法错误。 错误语句显示为:

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

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

#1楼 票数:2

尝试需要至少有一个except或finally表达式,如下所示:

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

#2楼 票数:2

如果您希望某些事情总是发生,则可以最终使用;如果您希望某些错误发生,请使用下列命令:

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")

#3楼 票数:1

try语句语法中 ,您可以看到至少有一部分 finally一部分except是必须的。

工作代码,除了:

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

在线尝试!

  ask by Spencer Bishop translate from so

未解决问题?本站智能推荐:

2回复

尝试使用try捕获未完成的字符串语法错误

我是python的新手,我不难举一个学习try的例子,除了blocks: 哪些输出将是您期望的: 但是,当尝试捕获这样的语法错误时: 具有讽刺意味的是,我会得到EOL语法错误。 我在jupyter笔记本环境中尝试了几次,只有当我移到VIM中的终端时,我才知道编译器将except代码
1回复

如果出现任何错误,是否可以在循环中运行try语句?

如果出现一些错误,那么它会在try之后转到except语句,在那里程序结束。 我的问题是,是否有可能,如果出现错误而不结束程序,它会连续运行 try 语句? 例如: 这在一个链中连续运行?
1回复

如何使用pytest测试try/except块的异常

一旦在 try/except 块中触发异常,如何正确测试是否执行了正确的代码? 很明显,这个测试失败了Failed: DID NOT RAISE <class 'AssertionError'>因为我在 try/except 块中发现了错误。 但是我如何/应该如何测试是否打印了正确的短语
2回复

简化Python中的try-except块

我有很多模块。 它们在每个文件中都有类似的try-except块,如下所示: ArgException(和其他异常)定义为: 由于每个模块都使用类似的代码来捕获异常,是否有办法将异常捕获放入所有模块都使用的共享文件中?
1回复

在Python中,如何正确地从Try跳出While循环?

我正在编写一个Python函数,以使用用户提交的凭据将GET请求发送到URL,并获取返回的令牌以供以后使用。 如果用户名/密码组合不正确,则代码将引发KeyError异常。 我了解到,Try-Else可以打破最里面的循环,在这种情况下应该是while循环。 在我的设计中,我希望函数在发生
1回复

如果发生异常,如何确保try/except循环不会执行所有内容?

假设我有这个代码: 我想要发生的是,执行函数,但是如果发生错误,则根本不执行该函数。 我不知道这对于try/except循环是否可行,因为这样做的目的是执行代码直到出现错误,但可能还有其他一些循环可以实现这一点。 抱歉,我知道这是一个非常初级的问题,我可能应该知道这一点,但我是自学的,从来没有遇到过
2回复

有没有办法在try块中运行所有指令或不运行指令?

我只想在没有一条指令抛出异常时运行一些指令,如果至少有一条指令抛出异常,则跳过所有指令。 我认为这就是 try-except 会做的事情,但发现 try 块内的指令会一直运行,直到一条指令抛出异常,然后跳过其余指令。 一些示例代码: 示例代码的输出如下: 如前所述,try 块内的指令会一直运行,直到
2回复

尝试/例外错误Python?

我的代码输出应该看起来像: 加密器: 解码: 到目前为止,我有这个,而且我一直在获取无效的语法。 我对如何在输出中键入答案感到困惑。 应该使用try / except并加上while循环,因为这是学校的作业。