计算不同的 Gmail 地址
count distinct gmail addresses
需要计算用户提供的不同 gmail 地址作为输入,条件如下:
不区分大小写:
"a@gmail.com" == "A@GmaiL.com"
忽略本地名称中字符串中的‘.’字符:
"aa@gmail.com" == "a.a@gmail.com"
Gmail 域与 googlemail 相同
"aa@gmail.com" == "aa@googlemail.com"
我的问题是最后一个。如何在我的代码中实现最后一个条件?
distinct_emails=[]
email = []
count=0
for i in range(int(input())):
item = input().lower().replace(".","")
email.append(item)
for i in email:
if i not in distinct_emails:
count = count + 1
distinct_emails.append(i)
print(count)
您可以尝试这样的操作,对于 gmail 和 googlemail 地址,您在将其附加到 distinct_emails
列表之前检查交换的版本。
distinct_emails=[]
email = []
count=0
for i in range(int(input())):
item = e.lower()
# don't remove `.` after the `@`.
parts = item.split("@")
email.append(parts[0].replace(".", "") + "@" + parts[1])
for i in email:
# consider googlemail and gmail to be equivalent
if not any(e in distinct_emails for e in [i, i.replace('@googlemail.com', '@gmail.com'), i.replace('@gmail.com', '@googlemail.com')]):
count = count + 1
distinct_emails.append(i)
print(count)
需要计算用户提供的不同 gmail 地址作为输入,条件如下:
不区分大小写:
"a@gmail.com" == "A@GmaiL.com"
忽略本地名称中字符串中的‘.’字符:
"aa@gmail.com" == "a.a@gmail.com"
Gmail 域与 googlemail 相同
"aa@gmail.com" == "aa@googlemail.com"
我的问题是最后一个。如何在我的代码中实现最后一个条件?
distinct_emails=[]
email = []
count=0
for i in range(int(input())):
item = input().lower().replace(".","")
email.append(item)
for i in email:
if i not in distinct_emails:
count = count + 1
distinct_emails.append(i)
print(count)
您可以尝试这样的操作,对于 gmail 和 googlemail 地址,您在将其附加到 distinct_emails
列表之前检查交换的版本。
distinct_emails=[]
email = []
count=0
for i in range(int(input())):
item = e.lower()
# don't remove `.` after the `@`.
parts = item.split("@")
email.append(parts[0].replace(".", "") + "@" + parts[1])
for i in email:
# consider googlemail and gmail to be equivalent
if not any(e in distinct_emails for e in [i, i.replace('@googlemail.com', '@gmail.com'), i.replace('@gmail.com', '@googlemail.com')]):
count = count + 1
distinct_emails.append(i)
print(count)