gpt4 book ai didi

python - 如何改进此 python 代码以改进负面测试?

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:48 25 4
gpt4 key购买 nike

我是 Python 编程的新手,无论如何您很可能会破译我的代码。我想知道如何改进我的代码以改进负面测试?

ageinmonths = input("Enter your age in months: ")

age = int(ageinmonths,10)
if type(age) == float:
print("Invalid age format entered")

if type(age) == str:
print("Invalid age format entered")


years = int(age/12)
months = age%12

print("Your exact age in years and months is",years,"years",months,"months")

上面这行代码的问题是,当我在几个月内输入正确的值 ex: 56 、 48 等时,它工作正常。

但如果我碰巧输入了一个无效的值,我会收到如下所示的错误消息:

Enter your age in months: Welcome
Traceback (most recent call last):
File "C:\Users\Srinivas\Documents\python\guess_age.py", line 2, in <module>
age = int(ageinmonths,10)
ValueError: invalid literal for int() with base 10: 'Welcome'
>>>

我想知道如何改进我的代码,以便为无效搜索条件(例如字符串、特殊字符、 float 等)的负面测试添加正确的错误消息。

我正在使用 Python 3.6(32 位版本)。

最佳答案

Reut Sharabani 所述,您可以使用 try ... except堵塞。你可以这样做:

try:
int("whatever")
except ValueError:
print("Upss there was a problem")

请注意,我只是捕获了一个ValueError 异常,而不是所有异常。

关于python - 如何改进此 python 代码以改进负面测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com