Python 为什么我的输出在这段代码中是错误的?
我正在编写一个程序,根据用户输入显示有多少人使用特定的电子邮件提供商。我有一个CSV文件,每次运行程序时,它都会打印Python 为什么我的输出在这段代码中是错误的?,python,csv,python-3.x,Python,Csv,Python 3.x,我正在编写一个程序,根据用户输入显示有多少人使用特定的电子邮件提供商。我有一个CSV文件,每次运行程序时,它都会打印0 我的代码如下: user = input('Enter an email'): c=0 f_in = open('us-500.csv','r') f_in.readline() for line in f_in: line = line.strip(' ') first, last, company, address, city, country, state
0
我的代码如下:
user = input('Enter an email'):
c=0
f_in = open('us-500.csv','r')
f_in.readline()
for line in f_in:
line = line.strip(' ')
first, last, company, address, city, country, state, zip, phone1, phone2, email, web = line.split(',')
for count in email:
if count == user:
c +=1
print(c)
f_in.close()
您似乎希望在不同的电子邮件地址中匹配域-
@example.com
。这是正确的吗
如果是这样的话,你将不得不期望电子邮件看起来像一个典型的地址,”user@example.com,并首先将地址分成若干部分
试试这个:
user, domain = email.split('@', 1)
此时,域
将类似于“example.com”,这对您来说已经足够了
provider = input('Enter an email provider (like "gmail.com"): '):
count = 0
with open('us-500.csv', 'r') as users:
users.readline() # skip header lines
for user in users:
first, last, company, address, city, country, state, zip, phone1, phone2, email, web = user.split(',')
_, domain = email.split('@', 1)
if domain == provider:
count += 1
print("Email provider '{}' has {} users".format(provider, count))
改为user=int(输入('输入电子邮件:'))