一个创建电子邮件的程序

时间:2016-02-11 06:49:55

标签: python python-3.x

我无法创建一个程序,该程序会获取名字列表和姓氏列表,附加两个列表并添加@ abc.mail.com 我几个月没有碰过蟒蛇,所以我甚至不知道该怎么办。我尝试创建列表和词典,但我不知道是否可以一次输入多个字符串。 总结一下: 我想要一个程序,要求用户输入firstName列表,lastName列表,然后程序将它们一起追加到firstName.lastName@abc.mail.com 我感谢你给予的任何帮助。

2 个答案:

答案 0 :(得分:0)

我给你一个非常简单的解决方案,减去任何花哨的方法或理解。 你似乎是一个Python初学者。

尝试:

fnames = []
lnames = []

#specify a size - depends on how many names you want; ideally first and last names would match right?
len_fnames = 3
len_lnames = 3

#input loop for first names
while len(fnames) < len_fnames:
    f = raw_input('Enter a first name')
    fnames.append(f)

print fnames

#input loop for last names - you can run this once to get both first and last names
while len(lnames) < len_lnames:
    l = raw_input('Enter a last name')
    lnames.append(l)

print lnames    
#a list of the generated email IDs
email = []
for i, f in enumerate(fnames):
    email.append(f + "." +lnames[i] + "@abc.mail.com")

print email

请参阅下面的Martin解决方案 - 它更优雅,也是正确的方法。

答案 1 :(得分:0)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def fill_list(l, promt):
    while True:
        x = input(promt)
        if not x:
            break

        l.append(x)

if __name__ == '__main__':
    first_names = list()
    last_names = list()

    fill_list(first_names, "Input first name: ")
    print('first_names: {}'.format(first_names))

    fill_list(last_names, "Input last name: ")
    print('last_names: {}'.format(last_names))

    for first, last in zip(first_names, last_names):
        print('{}.{}@abc.mail.com'.format(first, last))

输出:

Input first name: fff
Input first name: ddd
Input first name: ggg
Input first name: 
first_names: ['fff', 'ddd', 'ggg']
Input last name: 111
Input last name: 222
Input last name: 333
Input last name: 
last_names: ['111', '222', '333']
fff.111@abc.mail.com
ddd.222@abc.mail.com
ggg.333@abc.mail.com