题目:
给定一个Email地址,判断其是否合法。Email地址的格式要求如下:
(1)Email地址包含2个部分,分别是用户名和域名,中间用符号“@”分隔,且要求用户名和域名均至少有1个字符。
(2)用户名和域名只能由大小写字母、0至9的数字、下划线“_”或点号“.”组成。
(3)用户名和域名中的点号“.”都要求前后必须有其他合法的字符,如carter.chen@163.com是合法的,但carter.chen.@163.com和carter..chen@163.com是不合法的。
输入
输入数据包含多组,第一行为数据的组数T,接下来有T组数据,每组占一行,每行是一个字符串,长度不超过100个字符。
输出
如果是合法的Email地址,则输出Yes,否则输出No。
我i的代码:
import string
#函数判断address是否合法
legal_char = string.digits+string.ascii_letters+'_'+'.'
def judge_Address(addre):
if len(addre) < 3 or addre[0]=='.' or addre[-1] == '.':
return False
for k in range(len(addre)):
if addre[k] in legal_char:
if addre[k] == '.':
if addre[k-1] not in legal_char[:-1] and addre[k+1] not in legal_char[:-1]:
return False
else:
return False
else:
return True
t = int(input(''))
for i in range(t):
addr = input('')
f = judge_Address(addr)
if f:
print("Yes")
else:
print("No")
有人能告诉我哪里出现问题了吗?
万分感谢!!