2016-02-11 4 views
-4

У меня возникли проблемы с созданием программы, которая принимает список первых имен и список последних имен, добавляет два списка и добавляет @ abc.mail.com Я не касался python в месяцев, поэтому я даже не знаю, что делать дальше. Я пробовал создавать списки и словари, но я не знаю, возможно ли даже вводить несколько строк за раз. Подводя итог: Я хочу программу, которая просит пользователя ввести список для firstName, список для lastName, а затем программу, чтобы добавить его вместе, чтобы сделать [email protected] Я ценю любую помощь, которая вы даете.Программа, которая создает электронные письма

+0

Этот вопрос, по крайней мере три вопроса в одном: получить пользовательский ввод, получить его в виде списка, конкатенации строк, чтобы получить адрес электронной почты. Вы получите лучшие ответы, если вы придете сюда с конкретной проблемой и некоторым кодом, чтобы показать, как далеко вы добрались. – 0X0nosugar

ответ

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'] 
[email protected] 
[email protected] 
[email protected] 
0

Я даю вам очень простое решение за вычетом любых причудливых методов или осмыслений. Вы, кажется, начинающий Python.

Try: раствор

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 

знакомства Мартина ниже - это гораздо более элегантный и правильный способ сделать это.

Смежные вопросы