def loop_has_alnum(word):
letter = False
num = False
for ch in word:
if ch in letters:
if num:
return True
letter = True
elif ch in nums:
if letter:
return True
num = True
return False
把这些放在ipy文件中之后,我做了一些测试:
words = ["harry23", "a1", "8aaaa", "bbb0", "abc", "jim", "123"]
for word in words:
print("{:7} - {!s:5} - {}".format(word, bool(has_alnum(word)), loop_has_alnum(word)))
print("timing sets:")
%timeit [has_alnum(word) for word in words]
print("timing loop:")
%timeit [loop_has_alnum(word) for word in words]
您可以尝试子字符串检查以进行验证。如果需要的话,你可以修改它们,包括大小写和数字。你知道吗
下面是一个简单的例子:
您可以将其放入
while True
循环中,并使用ValueError子句。你知道吗我认为你创建了两个类似这样的函数:
如果字符串至少是一个数字,那么这个将返回true
如果字符串至少为一个字符,那么这个将返回true
你可以通过这样做来检查是否两者都有
你可以用一种基于交集的方法, 可扩展代码:
如果你对速度特别感兴趣的话,你只需要 用手写出循环:
把这些放在
ipy
文件中之后,我做了一些测试:结果如下:
证明他们都同意,但是循环要快一点。你知道吗
相关问题 更多 >
编程相关推荐