当用户输入电子邮件地址时,程序将读取电子邮件并根据其条件(例如yeo.myy@edu.co
)显示它,如条件:
username
是yeo.myy
domain
是edu.co
我知道这和"@"
有关。
这是密码
class Email:
def __int__(self,emailAddr):
self.emailAddr = emailAddr
def domain(self):
index = 0
for i in range(len(emailAddr)):
if emailAddr[i] == "@":
index = i
return self.emailAddr[index+1:]
def username(self):
index = 0
for i in range(len(emailAddr)):
if emailAddr[i] == "@" :
index = i
return self.emailAddr[:index]
def main():
emailAddr = raw_input("Enter your email>>")
user = Email(emailAddr)
print "Username = ", user.username()
print "Domain = ", user.domain()
main()
这是我得到的错误:
Traceback (most recent call last):
File "C:/Users/Owner/Desktop/sdsd", line 29, in <module>
main()
File "C:/Users/Owner/Desktop/sdsd", line 24, in main
user = Email(emailAddr)
TypeError: this constructor takes no arguments
你是说
__init__
?您的方法中还缺少几个
self
,并且return
缩进不正确。结果:
顺便说一下,我建议^{} 和^{} 在给定的分隔符上将字符串分成两部分。当然比手动跟踪索引要好。
如果在init之前和之后键入带有单下划线的
def _init_
,而不是带有双下划线的def __init__
,则可能会发生此错误。相关问题 更多 >
编程相关推荐