Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - horrorc0re

#1
cierto, me confundiria revisandolo xD, gracias a ti loko me ayudo a pasar la tarde jaja.

Saludos!
#2
Buenas!

he conseguido guardar, modificando solo la linea de los admins, espero que te ayude.

Código: python

#!/usr/bin/python

import re

def fAgregarNuevoAdmin(vNuevoAdmin):
try:
fichero = open("users",'r')
f = fichero.read()
usuarios = re.findall("admins = (.*)",f)

usuariosViejos = usuarios[0].split(", ") # partimos la cadena con los usuarios viejos para que se quede en una lista

cadenaNuevosUsuarios = "" # cadena que contendra todos los admins antiguos, mas el nuevo
cadenaViejosUsuarios = "" # cadena que contendra todos los admins antiguos

# Recorremos la lista de usuariosViejos para montar las cadenas, que despues nos haran falta en el replace
for i in range(len(usuariosViejos)):
if i+1 == len(usuariosViejos): # Controlamos que lo ultimo de la cadena no sea ", " Ejemplo : "['usuario1'], [usuario2], "
cadenaNuevosUsuarios = cadenaNuevosUsuarios + usuariosViejos[i]
cadenaViejosUsuarios = cadenaViejosUsuarios + usuariosViejos[i]
else:
cadenaNuevosUsuarios = cadenaNuevosUsuarios + usuariosViejos[i] + ", "
cadenaViejosUsuarios = cadenaViejosUsuarios + usuariosViejos[i] + ", "

cadenaNuevosUsuarios = cadenaNuevosUsuarios + ", " + vNuevoAdmin # Agregamos el nuevo usuario
f = f.replace(cadenaViejosUsuarios,cadenaNuevosUsuarios) # Reemplazamos la linea
fichero.close()

fichero = open("users",'w')
fichero.write(f) #Guardamos el fichero modificado
fichero.close()
except:
print 'ERROR'

fAgregarNuevoAdmin('[\'pepe\']');


Saludos
#3
Buenas blozzer!

prueba a cambiar esta linea:
Citar
admins_nuevos = [admins_originales] + [NuevoAdmin]    #y esta linea
contenido_modificado = contenido.replace(admins_originales, admins_nuevos)

por estas:
Citar
admins_nuevos = admins_nuevos[0].split(",")
admins_nuevos.append(NuevoUsuario)

De esta forma te separa los usuarios recogidos porque te los devuelve todo como una cadena y despues simplemente le añadimos a la lista el nuevo.

Estoy tambien liao con el :D pero tengo problemas al guardarlos. Como tu los guardas si te fijas te sustituye el contenido entero del fichero por lo que tengas, se carga el config.py  :o  ;D

Para guardarlos haria falta saber la linea donde esta y sustituirla entera, con el admin = tambien sino la segunda vez ya no funcá, xDD

Saludos!
#4
Python / Re:análisis de ejercicios
Agosto 20, 2011, 04:06:35 PM
buenas!

acabo de terminar la agenda en python, no tiene mucha utilidad mas que la de aprender con el codigo  ;D peroo bueno me sirvio para mas o menos ir entrando en las clases de python.

Son dos ficheros No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que contiene las clases y No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, el main.
No comprueba los datos introducidos aunque si he comprobado que los indices esten dentro del rango del array.
Solo he trabajado con una agenda porque no he visto necesario meterle mas, cuando aprenda ficheros lo mismo ya me dejo llevar un poco mas y la perfilo xDD se que es un aporte muy simplón pero si a alguien le sirve para aprender un poco mas de python de una forma mas basica, perfecto!.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Código: python

#/usr/bin/python


## Clase para gestionar los contactos ##
class Contacto():
def __init__(self, nombre, direccion, telefono, email):
        self.nombreContacto = nombre
self.dirContacto = direccion
self.tlfnContacto = telefono
self.emailContacto = email

## setters - Funciones para cambiar el valor de las variables ##
def setNombre(self, nombre):
self.nombreContacto = nombre

def setDireccion(self, direccion):
self.dirContacto = direccion

def setTelefono(self, telefono):
self.tlfnContacto = telefono

def setEmail(self, email):
self.emailContacto = email

## getters - Funciones para conseguir el valor de las variables ##
def getNombre(self):
return self.nombreContacto

def getDireccion(self):
return self.dirContacto

def getTelefono(self):
return self.tlfnContacto

def getEmail(self):
return self.emailContacto

## Clase para gestionar la agenda ##
class Agenda():
lstContactos = []

def getContactos(self):
return self.lstContactos

def setContactos(self, lstContactos):
self.lstContactos = lstContactos

def nuevoContacto(self,contacto):
self.lstContactos.append(contacto)

def borrarContacto(self,indice):
del self.lstContactos[indice]


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Código: python

#!/usr/bin/python

from ClasesAgenda import Agenda, Contacto
import os

##---> VARIABLES <---##
agenda = Agenda()

##---> FUNCIONES <---##

def imprimirContactos(lstContactos): ## Mostramos todos los contactos ##
for indice in range(len(lstContactos)):
print "-> ",indice,"- Nombre:",lstContactos[indice].getNombre(),"-- Direccion:",lstContactos[indice].getDireccion(),"-- Telefono:",lstContactos[indice].getTelefono(),"-- Email:",lstContactos[indice].getEmail()

## MENU ##
while True:
os.system("clear") ## Nos ayuda a limpiar la pantalla
print "#! - ###################### - !#"
print "#! Code por ZomWeed - PYTHON  !#"
print "--------------------------------"
print "#!     Agenda de Contactos    !#"
print "--------------------------------"
print "[1] -> Nuevo Contacto "
print "[2] -> Borrar Contacto "
print "[3] -> Listar Contacto "
print "[4] -> Modificar Contacto "
print "[0] -> Salir "
opcion = input("-><- Elija una opcion...")
if opcion != 0:
if opcion == 1:
## Recogemos los datos necesario para crear un nuevo contacto ##
os.system("clear")
print "[+] Nuevo Contacto: Informacion ->"
print ". ------------------------------ ."
nombre = raw_input("-> Cual es su nombre?")
direccion = raw_input("-> Cual es su direccion?")
telefono = raw_input("-> Cual es su telefono?")
email = raw_input("-> Cual es su email?")
contacto = Contacto(nombre,direccion,telefono,email)
agenda.nuevoContacto(contacto)
elif opcion == 2 and len(agenda.getContactos()) > 0:
## Mostramos todos los contactos y eliminamos segun nos indique el usuario ##
while True:
os.system("clear")
print "[+] Eliminar Contacto: Lista de Contactos ->"
print ". ---------------------------------------- ."
imprimirContactos(agenda.getContactos()) ## Mostramos los contactos
print "-> (s) : Salir"
indiceEliminar = raw_input("-><- Elija un contacto... ")
if indiceEliminar == 's' or indiceEliminar == 'S': ## Comprobamos la opcion elegida por el usuario
break
if int(indiceEliminar) >= len(agenda.getContactos()):
raw_input("U_u ERROR: indice incorrecto, pulse una tecla para continuar")
else:
agenda.borrarContacto(int(indiceEliminar)) ## Hacemos un casting a entero ya que raw_input nos devuelve string
elif opcion == 3:
## Mostramos todos los contactos ##
os.system("clear")
print "[+] Listar Contactos: Lista de Contactos ->"
print ". --------------------------------------- ."
imprimirContactos(agenda.getContactos())
raw_input("-><- Listados de los contactos actuales almacenados,pulse una tecla para continuar")
elif opcion == 4:
## Mostramos todos los contactos, el usuario indicara el contacto y registro a modificar ##
while True:
os.system("clear")
print "[+] Modificar Contacto: Seleccion del contacto ->"
print ". --------------------------------------------- ."
imprimirContactos(agenda.getContactos()) ## Mostramos los contactos
print "-> (s) : Salir"
indiceContacto = raw_input("-><- Elija un contacto... ")
if indiceContacto == 's' or indiceContacto == 'S':
break
os.system("clear")
if int(indiceContacto) > len(agenda.getContactos()):
raw_input("U_u ERROR: indice incorrecto, pulse una tecla para continuar")
else:
print "[+] Modificar Contacto: Registros a modificar ->"
print ". -------------------------------------------- ."
print "-> 1 - Nombre"
print "-> 2 - Direccion"
print "-> 3 - Telefono"
print "-> 4 - Email"
opcionRegistro = input("-><- Elija un contacto... ")
if opcionRegistro == 1:
nombre = raw_input("\nEscriba el nuevo nombre: ")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setNombre(nombre) ## Hacemos un casting ya que raw_input nos devuelve string
agenda.setContactos(lstContactos)
elif opcionRegistro == 2:
direccion = raw_input("\nEscriba la nueva direccion: ")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setDireccion(direccion)
agenda.setContactos(lstContactos)
elif opcionRegistro == 3:
telefono = raw_input("\nEscriba el nuevo telefono: ")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setTelefono(telefono)
agenda.setContactos(lstContactos)
elif opcionRegistro == 4:
email = raw_input("\nEscriba el nuevo nombre")
lstContactos = agenda.getContactos()
lstContactos[int(indiceContacto)].setEmail(email)
agenda.setContactos(lstContactos)
elif opcion == 0:
print "\nSaludos Terricola [^_^]"
break


Saludos
#5
Python / Re:análisis de ejercicios
Agosto 20, 2011, 09:41:21 AM
gracias blozzter, me alegro de que te guste.

He mirado la fecha y ami si que me sale 42 :D nose porque te habrá salido 41...

Citar
Editado: oye una pregunta como podria llamar con import a un fichero que tiene la estructura de una clase en python. Estoy probando con import y el fichero pero no me funciona.
me contesto yo mismo xDD
from <Fichero> import <NombredelaClase>   

En fichero solo ponemos el nombre, nose si habra otro metodo para invocar la clase.

ahora estoy tirando de otro de los programas mas trillados para aprender ... agenda PYTHON  :D mas que nada para practicar con clases y funciones, dentro de poco lo cuelgo y le hechais un vistazo

Saludos
#6
Python / Re:análisis de ejercicios
Agosto 18, 2011, 03:31:00 PM
buenas!

xDD me habeis picado ami tambien .. aqui mi code (no compruebo que los datos sean correctos)

Código: python

#!/usr/bin/python

import datetime

## Obtenemos la fecha actual y la devolvemos en una lista   
def fechaActual():
    fecha = str(datetime.date.today())
    fecha = fecha.split('-')
    return fecha

## Calculamos la edad
def calcularEdad(fechaUsuario):
    fechaHOY = fechaActual()
    fechaUsuario = fechaUsuario.split('-')
    edad = int(fechaHOY[0]) - int(fechaUsuario[0])
    if int(fechaUsuario[1]) > int(fechaHOY[1]):
edad -= 1
    elif int(fechaUsuario[2]) > int(fechaHOY[2]):
          edad -= 1
    return edad

print "###########################"
print "# Code de ZomWeed -PYTHON #"
print "#-------------------------#"
print "#    (Calculo-de-Edad)    #"
print "###########################"
fechaUsuario = raw_input("-> Porfavor, indique una fecha (AA-MM-DD)")
print "La edad es -> ",calcularEdad(fechaUsuario)


por cierto blozzter, la forma en la que compruebas la fecha deberias revisarla porque no funcá correctamente, si introduces 155-12-06 te calcula la edad  :)

Editado: oye una pregunta como podria llamar con import a un fichero que tiene la estructura de una clase en python. Estoy probando con import y el fichero pero no me funciona.

Saludos
#7
muy bueno Xt3mP, descargado y archivado para futuras practicas.

graxé!