【发布时间】:2023-01-17 23:14:11
【问题描述】:
def domain(email, old_domain, new_domain):
if "@" + old_domain in email:
index = email.index("@" + old_domain)
new_email = email[:index] + "@" + new_domain
return new_email
return email
email = ['sandeep@yahoo.com', 'maini@gmail.com', 'venky@yahoo.com', 'karupi@gmail.com']
old_domain = "yahoo.com"
new_domain = "gmail.com"
for i in email:
print(i.domain(email, old_domain, new_domain))
错误是:
Traceback (most recent call last):
File "/private/tmp/p4", line 11, in <module>
print(i.domain(email, old_domain, new_domain))
AttributeError: 'str' object has no attribute 'domain'
在上面的编码中,我试图用我定义的函数循环每个字符串,但它不断出现错误。我犯了什么错误?请任何人纠正它。
【问题讨论】:
-
请更正格式
-
嗨,桑迪普,欢迎。是的,您的格式需要更正。你也说你得到一个错误,但请告诉我们错误是什么。
-
您的
email是一个字符串列表。如果i是这些字符串之一,那么i.domain()应该如何理解?字符串没有domain方法。另外 - 你的缩进似乎不对。最后 4 行真的是你函数定义的一部分吗? -
domain()该方法不是str列表email的每个成员的数据类型的成员。