我想从用户输入中提取电子邮件服务提供商,以下代码没有给我错误,但也没有结果。
知道有人可以复查并让我知道我做错了吗?
代码:
getEmail = input("Write your email: ")
email = getEmail.index('@')
print(getEmail[:email])
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + getEmail[getEmail.index('@'):getEmail.index('.')])
输出
Write your email: nick.fury@gmail.com
nick.fury
Your user name is : nick.fury
Your Email service provider is :
预期结果
您的用户名是:nick.fury
您的电子邮件服务提供商是:gmail
答案 0 :(得分:0)
此部分:getEmail[getEmail.index('@'):getEmail.index('.')])
不起作用,因为getEmail.index('@')
大于getEmail.index('.')]
。
getEmail.index('.')]
返回FIRST索引“。”
您可以尝试这种方法:
getEmail = input("Write your email: ")
email, domain = getEmail.split('@')
print(email)
print("Your user name is: " + email)
print("Your Email service provider is: " + domain.split('.')[0])
使用print
方法时,也不必使用+
。您可以使用,
:
print("Your user name is:", email)
答案 1 :(得分:0)
getEmail = input("Write your email: ")
email = getEmail.index('@')
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + getEmail[getEmail.index('@')+1:][:getEmail.index('.')-1])
输出:
写您的电子邮件:asfdsf.asd@gmail.com
您的用户名是:asfdsf.asd
您的电子邮件服务提供商是:gmail
答案 2 :(得分:0)
假设输入格式正确,则更简单的方法是
get_email = input("User email: ")
username, hostname = get_email.split('@')
provider = hostname.split('.')[0]
答案 3 :(得分:-1)
代码:
getEmail = input("Write your email: ")
email = getEmail.index('@')
provider = getEmail[email+1:]
print(getEmail[:email])
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + provider[:provider.index('.')])
输出:
Write your email: nick.fury@gmail.com
nick.fury
Your user name is : nick.fury
Your Email service provider is : gmail