Aprendiz de Python necesita ayuda

Estoy aprendiendo Python y intento hacer algo sencillo.
Os dejo el código y explico.

cadena = input("Introduce los usuarios: ")

cadena.split( )

print(cadena)

f = open ('salida.txt','w')
for i in [cadena]:
codigo = print(f"Aqui el codifo {i}@correo Aqui la otra parte del codigo {i}@correo2 ")
f.write = codigo

f.close()
input("Exit")



La idea es la siguiente. Se inicia el script y te pide que introduzcas los usuarios. La idea es que puedas copiar una lista y pegarla. Luego lo que quería es guardar esos usuarios en una lista, pero que Python me lo guarde por separado y no creando un item de todo lo que he introducido. Seria algo asi como.

cadena = input("Introduce los usuarios: ")
- Juan Sergio Pepe
y que lo guarde como
cadena =["juan","sergio","pepe"]

Pensaba que con .split() podría, pero no.

Luego viene el for. La idea es que sustituya todo los {i} por los nombres introducidos.
Si en el for pongo for i in ["Sergio","juan"]:. Si que lo hace, ya que me casa el resultado esperado

Aqui el codifo Sergio@correo Aqui la otra parte del codigo Sergio@correo2
Aqui el codifo Juan@correo Aqui la otra parte del codigo Juan@correo2

Pero si en el for pongo la lista (cadena) no lo hace, me podria los dos nombres en ambos correos. [facepalm]
"Se que el texto no tiene mucho sentido. Es solo una prueba"

Pues este seria mi primer problema que no tengo ni idea de como solucionar. Mira que he buscado pero algunas cosas aun me cuesta entenderlas.

Mas abajo se ve como intento guardar la salida en un .txt con
f = open ('salida.txt','w') - Antes del for
y
f.write = codigo - después del for

Esto lo vi en un foro y esta claro que bien no lo tengo ya que me crea un documento en blanco.

¿Alguien me puede ayudar ? [buuuaaaa]
Gracias por adelantado.
Si algo no queda claro o no esta bien explicado, por favor no dudéis en decirlo
messiah escribió:Si algo no queda claro o no esta bien explicado, por favor no dudéis en decirlo

Pues a mi me gustaria saber por que lo has puesto en el subforo de Juegos, es curiosidad eh?. [fiu]
Para dudas de programación, sea en el lenguaje que sea (Java, C, Python, etc...) lo mejor es consultar en el "foro" de stack overflow. Googlea y lo encontrarás.
Esto es una sección de juegos de PC, aunque quieras programar un juego aquí se supone que no es el sitio adecuado.
Linuxion escribió:
messiah escribió:Si algo no queda claro o no esta bien explicado, por favor no dudéis en decirlo

Pues a mi me gustaria saber por que lo has puesto en el subforo de Juegos, es curiosidad eh?. [fiu]

[facepalm] [facepalm] [facepalm] [facepalm] joder.. le di sin querer al de juego y no a PC general.

@war2 Muchas gracias. Con eso ya he solucionado todo lo relacionado con la lista. Después de pensarlo me di cuenta de que en el for tengo mal puesta la lista, tengo que quitar los [] si no me mete una lista dentro de otra lista [facepalm]

@The_Reaper Y tienes toda la razon. Ademas ese foro lo visito mucho y encuentro muchas veces la solucion.


Gracias a todos
Un apunte (aunque yo también estoy aprendiendo XD)

Si abres los archivos de esta manera (mira las 2 primeras imágenes del link):
https://www.educative.io/edpresso/the-w ... -in-python

Con el "with", luego ya lo cierra automáticamente. Es un poco más elegante y hasta juraría que más correcto/simplificado, que alguien me corrija si me equivoco [+risas]
@messiah

No te lo pone directamente porque estás haciendo 'cadena.split()' y tienes que hacer cadena = cadena.split(). Ese split hace lo que quieres pero te devuelve una lista, no te lo hace inplace.

Luego, como dice el compañero @Teuti , lee, aprende y finalmente usa el with

Ejemplo de uso del with para utilizar ficheros

Por último, si estas aprendiendo a programar, un consejo. Acosumbrate a trababjar SIEMPRE con la API del lenguaje que utilices y cuando utilices una función, SIEMPRE busca la función en la API para ver su entrada y lo que devuelve. Si estas utilizando cualquier IDE moderno, busca los shortcuts para que te muestre esa info al poner el caret encima.
6 respuestas