使用带数字的用户名,而不使用换行符进行循环


username='smith123'
numbers='1234567890'
for i in username:
if i in numbers:
print(username)
#break

你好,我写了一个代码,如果用户名中存在一个数字,那么它就会被打印出来,但在这样的用户名中,用户名会被打印3次。为了确保只打印一次,有没有不使用break的方法?谢谢

试试这个:

username='smith123'
if any(char.isdigit() for char in username):
print(username)

文档:任何isdigit,(列表(理解

使用re:的另一种方法

\w

对于Unicode(str(模式:

匹配Unicode单词字符;这包括任何语言中可以作为单词一部分的大多数字符,以及数字和下划线。如果使用ASCII标志,则只匹配[a-zA-Z0-9_]。

import re
username="smith123"
if re.match(r"^w+$", username):
print(username)

最新更新