3 回答
TA贡献1776条经验 获得超12个赞
我们分别将它们称为 way1 和 way2。
在方式 1 中,您在每次输入后检查值错误,但在方式 2 中,您在代码片段之后检查任何错误(在这种情况下,它很可能是值错误)。
Way1 在每次输入后检查错误,way2 整体检查错误。在Python中,如果出现任何错误,编译器将停止并抛出错误。
假设由于人为错误,您将收到属性错误,way2 将打印:
“错误,请输入数字”
但是,way1 会给你一个错误,并且代码停止工作,你必须重新运行它。
现在我们来谈谈空间和时间复杂度,两者的代码具有相同的复杂度
如果其他人想理解您的代码,在无法联系到您的情况下,他/她将很容易理解 way2 代码片段,因为它更干净且易于阅读。
TA贡献1836条经验 获得超3个赞
第一个 Try 语句中有重复的代码。有两个 Try 和 except 处理每个用户输入的错误,而在第二个代码块中只有一个。不要重复自己(DRY)原则指出,逻辑中的重复应该通过抽象来消除。向代码库添加额外的、不必要的代码会增加将来扩展和维护软件所需的工作量。第二个 Try 语句看起来更干净、更易于阅读,并且是首选的逻辑方法。
TA贡献1817条经验 获得超14个赞
这些方法之间的主要区别在于,您是否在所有代码周围都有一个 try-catch 块,或者只是在错误检查周围有一个 try-catch 块。首先,第一个将错误检查拆分为多个 try-except 块,而第二个将整个代码块放入单个 try- except 块中。其次,第一个使用 quit() 函数跳过代码的计算部分,而第二个则通过将其放在 try 块内来跳过它。
我想说第二种方法更干净、更容易阅读。首先,您只有一个 try- except 块,这减少了冗余代码的数量。其次,通过将所有代码都放在 try- except 块中而不是让程序退出来跳过代码,可以更容易地看到发生了什么。最后,第二段代码更短、更简洁,对我来说更像是标准实践。
添加回答
举报