我已经要求用户使用raw_input输入格式为“AB12 XYZ”的字符串。下面的代码应该验证字符串是否遵循这种格式,通过检查我可以在我期望能够使用的地方使用str和int - 我不明白这是一个优雅的解决方案,但我唯一能够目前想到。如果输入不符合预期模式,“非标准”应该返回为真。但是,目前,非标准总是返回为真。我怀疑这可能与我使用str有关,但我不确定究竟是什么。(Python 2.7)使用try的数据验证不能按预期工作
这里的源:
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
你最好使用TRUE;和'假'而不是字符串。 – ForceBru
另外为什么你认为'str()'会抛出'TypeError'?它不应该除非你手动编写了一个从'__str __()'函数抛出'TypeError'的类。 –
@ForceBru这可能是真的,但我实际上并不知道 - 我可能知道,我的python知识非常有限。 – Jay