Python - Programa que genera cuentas de correo según el nombre y apellido dados

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por joaquin (7 intervenciones) el 29/02/2020 14:06:27
Buenos días, estoy aprendiendo a programar en python y me encuentro con el siguiente problema:

Tengo que crear un programa donde me pida cargar nombre y apellido y el programa solo me genere una dirección de correo electrónico para dicho usuario.
Ej:
nombre = ramon
apellido = gomez

el mail debe quedar "rgomez@..............."

Hasta ahí lo pude resolver. El problema se me presenta cuando cargo usuarios que comiencen con la misma letra, ejemplo: romina gomez... el programa me va a arrojar "rgomez@............" nuevamente. Entonces en este caso el programa, al detectar que ambos nombres comienzan con la misma letra, debería arrojar el siguiente correo: "rominagomez@.........."

Espero haber sido claro y obtener una ayuda,
Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 427
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por Daniel (99 intervenciones) el 29/02/2020 19:05:42
Hola,

Para ver si un elemento existe en una lista lo más fácil es usar in

1
2
3
4
5
6
7
8
9
10
11
lista = ['rgomez']
 
if 'lgomez' in lista:
    lista.append('lista gomez')
else:
    lista.append('lgomez')
 
if 'rgomez' in lista:
    lista.append('ramon gomez')
else:
    lista.append('rgomez')

Con lo que se crea la lista ['rgomez', 'lgomez', 'ramon gomez']

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 21
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por joaquin (7 intervenciones) el 01/03/2020 00:29:55
Muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 21
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por joaquin (7 intervenciones) el 01/03/2020 16:09:41
buenos dias, estuve tratando de resolverlo pero aun no pude..
El problema lo tengo a la hora de detectar si la dirección de correo ya existe (por ejemplo 2 o más direcciones "rgomez@mail.com")... en ese caso yo DEBO reemplazar el correo "rgomez@mail.com" por el correo con su nombre completo, ejemplo "romangomez@mail.com". Es decir, para DIFERENCIAR los correos de los distintos usuarios.
Espero haberme explicado bien, pero soy nuevo y me cuesta.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 427
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por Daniel (99 intervenciones) el 01/03/2020 19:03:38
Si el problema es porque se necesita el correo completo no hay más problema que incluir este en la lista, no solo el nombre de usuario.

Si el problema es porque hay que reemplazar el correo anterior. Una solución menos elegante es recorrer el listado anterior con un bucle for y reemplazar el objeto cuando no encontremos con el dato.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 21
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por joaquin (7 intervenciones) el 01/03/2020 23:40:44
Te pego el codigo que hice hasta ahora, porque no sé como explicarme mejor...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
usuarios = []
usuarios_asteriscos = []
 
cantidad = int(input("Ingrese la cantidad de usuarios de la Academia Club del Código: "))
 
for x in range(cantidad):
    nombre = input("Ingrese nombre: ")
    apellido = input("Ingrese apellido: ")
    #usuarios.append((nombre,apellido))
    contrasena = input("Ingrese una contraseña, la cuál debe tener 8 ó más caracteres: ")
 
    mail = (nombre.lower()[0]+apellido.lower()+"@clubdelcodigo.com.ar")
 
    usuarios.append(("Usuario: "+nombre + " " + apellido + " - " + "Mail: " + mail + " - " + "Contraseña: " + contrasena))
    usuarios_asteriscos.append(("Usuario: " + nombre + " " + apellido  + " - " + "Mail: " + mail + " - " + "Contraseña: ",len(contrasena)*"*"))
 
    while len(contrasena) < 8:
        print("Error, la contraseña debe tener como mínimo 8 caracteres.")
        contrasena = input("Ingrese una contraseña, la cuál debe tener 8 ó más caracteres: ")
 
op = input("Desea mostrar las contraseñas, si/no?: ")
 
for x in range(cantidad):
 
    if op == "si":
        print(usuarios[x])
    elif op == "no":
        print(usuarios_asteriscos[x])

A este programa le estaría faltando un bloque de codigo donde me permita sustituir cuando dos correos son iguales.... y es lo que no logro hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 427
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por Daniel (99 intervenciones) el 02/03/2020 10:28:41
Hola,

Una posible solución usar un map para crear una lista de correos, luego buscar en esta lista y si aparece reemplazar la tupla original por una nueva obteniendo la posición en la lista. Simplificado se puede hacer algo como lo siguiente

1
2
3
4
5
6
7
8
9
usuarios = [('nombre', 'correo'),('nombre1', 'correo1')]
 
# Mapeo de correos a una lista
correos = list(map(lambda x: x[1], usuarios))
 
if 'correo' in correos:
    pos = correos.index('correo')
    usuario = (usuarios[pos][0], 'nuevo correo')
    usuarios[pos] = usuario

Lo que genera [('nombre', 'nuevo correo'), ('nombre1', 'correo1')]

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 21
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Programa que genera cuentas de correo según el nombre y apellido dados

Publicado por joaquin (7 intervenciones) el 02/03/2020 12:13:05
Muchísimas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar