gpt4 book ai didi

python - (Python 2.7)使用 try 进行数据验证无法按预期工作

转载 作者:行者123 更新时间:2023-12-01 04:27:59 27 4
gpt4 key购买 nike

我要求用户使用 raw_input 输入格式为“AB12 XYZ”的字符串。下面的代码应该验证字符串是否遵循这种格式,通过检查我是否可以在我期望能够使用的地方使用 str 和 int - 我知道这不是一个优雅的解决方案,但这是我唯一可以使用的解决方案目前想到。如果输入不遵循预期模式,“nonstandard”应返回 true。然而,目前,nonstandard 总是返回 true。我怀疑这可能与我使用 str 有关,但我不确定到底是什么。

来源如下:

try:
for x in range(0,1):
str(Tnumberplate[x])
global nonstandard
nonstandard = "true"
except TypeError:
pass
try:
for x in range(4,6):
str(Tnumberplate[x])
nonstandard = "true"
except TypeError:
pass

最佳答案

我要指出的第一件事是数字可以转换为有效的字符串,因此对数字调用 str() 将会成功。

您可以使用 isdigit() 方法:

>>> numberplate = 'AB12 XYZ'
>>> for character in numberplate:
... print(character.isdigit())
...
False
False
True
True
False
False
False
False

如果将其存储在列表中,则可以简化测试:

expected = [False, False, True, True, False, False, False, False]
results = [character.isdigit() for character in numberplate]
if results == expected:
# the digits are where we expect...
pass

关于python - (Python 2.7)使用 try 进行数据验证无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32819550/

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