Foro De Python - Discusión General

Hola laneros, paso por aquí a suscribirme, trabajo con bioinformatica y estoy arrancando en el camino del python.

Saludos.
 
Hola, gracias por la respuesta, la cosa es que volvi a intentar rehacer la mayoria del tutorial desde donde se generan las vistas con funcionalidad, y esta vez de solo copiar y pegar me fue mejor :p seguro se me habia olvidado algo :whistle: . En fin, continuando con las vistas genericas, resultó que no funcionaba con el codigo copiado-pegado que se encuentra en el tutorial, asi que intente dejando todo y reemplazando lo similar, lo que me llevo a las siguientes conclusiones, en cuanto a librerias en el views.py no se necesitan sino estas:
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.shortcuts import render, get_object_or_404
from django.views import generic
from polls.models import Choice, Poll
en el urls.py :
from django.conf.urls import patterns, include, url
from polls import views
y en llamados de url se deben dejar:
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^polls/', include('polls.urls', namespace="polls")),
url(r'^(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail'),
url(r'^(?P<pk>\d+)/results/$', views.ResultsView.as_view(), name='results'),
url(r'^(?P<poll_id>\d+)/vote/$', views.vote, name='vote'),
Lo demás si se borra. Pilas que sino les genera error de 404 osea "no existe"; y se pueden matar horas pensando que falta como le paso a un amigo por ahi :oops:
 
Hola laneros, paso por aquí a suscribirme, trabajo con bioinformatica y estoy arrancando en el camino del python...
Bien venido Bro.

@Roge99 me alegra ver que sigues con lo de DJango, muchos éxitos y gracias por compartir tus experiencias.

Ya en otra cosa, les dejo un pequeño script para "crear" contraseñas seguras... muy útil en entornos UNIX:

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

#
# radix.py
#

import sys
import hashlib as hl
import base64 as b64

def main():
    if len(sys.argv) == 2:
            cryp(sys.argv[1])
    else:
        print 'Use: radix "string"'      
    return 0

def cryp(s):
    t = s
   
    k = hl.sha512()
    k.update(t)
    t = k.digest()
    t = b64.b64encode(t)
    t = t.replace('=', '')
   
    print t

if __name__ == '__main__':
    main()
 
... suscribiendome al hilo.

No soy programador Python por excelencia, trabajo mas que todo en entornos empresariales con desarrollo de software bajo Linux y mucha base de datos (Oracle). Pero si, siempre he tenido el interés por Python, no sé por qué. Hace unos meses, hice una prueba técnica para entrar a una multinacional muy conocida y me pidieron que eligiera un lenguaje de mi escogencia para resolver un problema. Si no existiera Python, no sé como lo hubiese solucionado. Casualmente también uso Python para proyectos personales y para explorar. Lo último que he estado moviendo es bases de datos con sqlite3 y la librería de XML (exportando de unas tablas a archivos XML)

He visto en otros foros aquí que la gente pregunta buscando ayuda en temas específicos. Quizá sea buena idea abrir esa opción para este hilo, para mantener al tanto a los interesados. ¿Quizá publicar tutoriales aquí?

Me uno al foro.

Apenas comenzando con el lenguaje, hay cosas que lo hacen chevre pero cuando se viene de otros lenguajes que de tipado estático hay cosas a las que toca acostumbrarse................. y dan un sabor de pecado cuando se escriben.

Con que IDE trabajan?

Mi caso: Eclipse + Pydev , aunque todavía le hace falta trabajo

Hace años, recuerdo haber usado Netbeans con un plugin que servía para Python, pero no sé en que habrá quedado eso. Cuando trabajé por fuera de Colombia, alcancé a usar el Komodo IDE. También he usado Ninja y otros muchos que ni siquiera recuerdo... había uno para Linux que venía con una combinación de colores de fondo negro y fuentes de color muy cómodo para la vista. Ahora mismo estoy con Eclipse + PyDev. Todavía no tengo uno que considere favorito, aunque el Komodo me da buenos recuerdos.

Bien venido Bro.

@Roge99 me alegra ver que sigues con lo de DJango, muchos éxitos y gracias por compartir tus experiencias.

Ya en otra cosa, les dejo un pequeño script para "crear" contraseñas seguras... muy útil en entornos UNIX:

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

#
# radix.py
#

import sys
import hashlib as hl
import base64 as b64

def main():
    if len(sys.argv) == 2:
            cryp(sys.argv[1])
    else:
        print 'Use: radix "string"'     
    return 0

def cryp(s):
    t = s
  
    k = hl.sha512()
    k.update(t)
    t = k.digest()
    t = b64.b64encode(t)
    t = t.replace('=', '')
  
    print t

if __name__ == '__main__':
    main()

Interesante, no soy Sysadmin, pero trabajo mucho con Linux y depronto sirva en algún momento.
 
  • Me gusta
Reacciones: kmilo-co
Primero que todo: @yllanos bienvenido al foro, espero que llegue a resultar te útil.

Ahora bien, he de disculparme, aún tengo pendiente el material de desarrollo ágil con python, los vídeos están por hay, pero no me ha quedado tiempo de editarlos y darle forma al material, espero librarme del mayor de mis compromisos a comienzos de octubre y tomarme algunos días de descanso, entre ellos para ordenar material académico, incluido por supuesto el de python.

Por otro lado quera comentarles acerca de WS4PY el modulo que estoy utilizando actualmente en mis proyectos para reemplazar AJAX y lograr una interacción mas fluida entre el el cliente y el servidor, lo estoy trabajando sobre CherryPy con soporte para protocolos seguros (HTTPS y WSS). Les dejo los links oficiales, si alguien a trabajado con estas tecnologías o le interesan en algún modo los invito a participar del tema.

https://ws4py.readthedocs.org/en/latest/
http://cherrypy.readthedocs.org/en/latest/index.html
 
Revivo y me suscribo por acá, ya que deseo empezar a utilizar Python, no creo que a nivel tan profundo como las cosas que leí por aquí ya que soy ing. mecánico y me interesa utilizar Python más que todo como reemplazo de Matlab.
 
Baya ha pasado mucho tiempo desde que pase por aquí. En fin... Python es mi lenguaje favorito y actualmente estoy probando muchas cosas entretenidas con el, así que estaré publicando algunas de ellas.

Para empezar, la librería NPYSCREEN que permite crear interfaces de usuario para ambientes de texto (consola), naturalmente suena un poco loco... a quien le interesa hacer interfaces de consola cuando se tienen muchas opciones para crear interfaces gráficas muy potentes; pues resulta que en algunas ocasiones es de gran ayuda, por ejemplo si tienes que tratar con un entorno donde tu única opción es una conexión ssh, o si quieres complementar una interfaz web con un CLI de consola mas amigable, son pocos los casos pero resulta muy gratificante.

NpyScreen es muy sencilla de instalar ya que se encuentra disponible a través de PIP y es plenamente compatible con Pyhton 2.x y 3.x; y lo mas importante cuenta con una muy clara documentación oficial (http://npyscreen.readthedocs.org/) en ingles, pero bueno a efectos de código el idioma es lo de menos.

Por ultimo os dejo el primer vídeo de una serie de 9 publicados en el canal de RootOfTheNull que sirven muy bien para conocer la herramienta.


Éxitos.
 
  • Me gusta
Reacciones: yllanos
porque tan callado el foro, yo tambien ando practicando en python y django estare atento a cualquier recomendacion XD
 
Locos una pregunta alguien aprendiendo python? alguien para compartir código y discutir?
 
  • Me gusta
Reacciones: Fercol
Yo ando en esas. Mas que todo con miras a manejar el tema de análisis de datos en Python.
Yo llevo como un mes aprendiendo, si tiene ejercicios compartalos, que temas ha visto ? soy novato pero pues la idea es aprender ya he hecho varios ejercicios, y esta interesante python porque se pueden hacer bastantes cosas, me esta gustando este cuento. si gusta le comparto algunos ejercicios super basicos que he hecho.
 
Yo llevo como un mes aprendiendo, si tiene ejercicios compartalos, que temas ha visto ? soy novato pero pues la idea es aprender ya he hecho varios ejercicios, y esta interesante python porque se pueden hacer bastantes cosas, me esta gustando este cuento. si gusta le comparto algunos ejercicios super basicos que he hecho.
He estado haciendo los ejercicios de la pagina https://edabit.com/challenges/python3 ya he visto los temas básicos como strings, listas, tuplas, diccionarios, sets. Ahora estoy con el tema de las clases e intentando ganar solvencia en Python.

El último código que escribí que me sirvió en la vida real, para depurar datos y presentar información exogena a la Alcaldía de Cartagena, de forma rápida y sencilla.

Le paso las cabeceras de una de las funciones que escribí para ello. Por si le gustaría proponer una solución. La cual toma como parametros un carácter de texto y una cadena de texto, y retorna una nueva cadena de texto, eliminando los caracteres de texto consecutivos:


Python:
def del_consecutives(char, string):
    """
    Takes one individual character and one string
    and return and new string without those individual
    characters consecutives.
    """


Al ejecutar la función por ejemplo:

print(del_consecutives("a", "abracaadaaabraaaa"))

retorna : abracadabra

Disculpe los comentarios de la función que están en mi muy rudimentario ingles.
 
He estado haciendo los ejercicios de la pagina https://edabit.com/challenges/python3 ya he visto los temas básicos como strings, listas, tuplas, diccionarios, sets. Ahora estoy con el tema de las clases e intentando ganar solvencia en Python.

El último código que escribí que me sirvió en la vida real, para depurar datos y presentar información exogena a la Alcaldía de Cartagena, de forma rápida y sencilla.

Le paso las cabeceras de una de las funciones que escribí para ello. Por si le gustaría proponer una solución. La cual toma como parametros un carácter de texto y una cadena de texto, y retorna una nueva cadena de texto, eliminando los caracteres de texto consecutivos:


Python:
def del_consecutives(char, string):
    """
    Takes one individual character and one string
    and return and new string without those individual
    characters consecutives.
    """


Al ejecutar la función por ejemplo:

print(del_consecutives("a", "abracaadaaabraaaa"))

retorna : abracadabra

Disculpe los comentarios de la función que están en mi muy rudimentario ingles.
Huy bastante interesante, y se ve util por si se escribe mal algo, aunque solo esta la funcion pero no se ve como la construye, yo hasta ahora etoy viendo lo del ordenamiento recursivo que me esta dando dolores de cabeza, lo demas si lo entendi porque no es complicado, el siguiente programita calcula si un numero es par o impar, es solo un ejercicio, no me atrevo a publicar los de ordenamiento porque están mal.
1625252043061.png


Gracias por el link de edabit, no lo conocía, se ve bastante útil, lo de proponer una soluciona para retornar palabras, correctas no creo todabia saber como hacerlo, ya vi diccionarios, tuplas y listas, pero solo seme ocurre crear un diccionario de palabras comunes y comparar las palabras almacenadas y si digamos varias palabras coinciden reemplazar el texto escrito por el que esta almacenado, pero la verdad es pura especulación, le voy a echar cabeza haber si se me ocurre algo, porque la verdad no.
 
Última edición por un moderador:
Huy bastante interesante, y se ve util por si se escribe mal algo, aunque solo esta la funcion pero no se ve como la construye, yo hasta ahora etoy viendo lo del ordenamiento recursivo que me esta dando dolores de cabeza, lo demas si lo entendi porque no es complicado, el siguiente programita calcula si un numero es par o impar, es solo un ejercicio, no me atrevo a publicar los de ordenamiento porque están mal.
Ver el archivos adjunto 467864

Gracias por el link de edabit, no lo conocía, se ve bastante útil.
Las funciones recursivas también me dan duro, jajaja. Si quiere publique el código, y lo miramos. El codigo completo de la función anterior es el siguiente:
Python:
def del_consecutives(char, string):
    """
    Takes one individual character and one string
    and return and new string without those individual
    characters consecutives.
    """
    if (string == "") or (not char * 2 in string):
        return string
    #else:
    new_string = string[0]
    for item in string[1:]:
        if not (item == new_string[-1] and item == char):
            new_string += item
    return new_string
 
Le paso las cabeceras de una de las funciones que escribí para ello. Por si le gustaría proponer una solución. La cual toma como parametros un carácter de texto y una cadena de texto, y retorna una nueva cadena de texto, eliminando los caracteres de texto consecutivos:

Extremadamente trivial con expresiones regulares, se hace en una sola línea:

Python:
import re

def del_consecutives(char, string):
    return re.sub(char + "{2,}",char,string)

print(del_consecutives("a", "abracaadaaabraaaa"))

Solamente sería validar que char sea 1 caracter, eso es todo.
 
Las funciones recursivas también me dan duro, jajaja. Si quiere publique el código, y lo miramos. El codigo completo de la función anterior es el siguiente:
Python:
def del_consecutives(char, string):
    """
    Takes one individual character and one string
    and return and new string without those individual
    characters consecutives.
    """
    if (string == "") or (not char * 2 in string):
        return string
    #else:
    new_string = string[0]
    for item in string[1:]:
        if not (item == new_string[-1] and item == char):
            new_string += item
    return new_string
loco es el ejercicio de la tabla de futbol futbol con ordenamiento quicksort, pero no he podido avanzar casi nada, tengo mas o omenos esto pero lo que me tiene parado es la funcion de ordenamiento, ya lo tengo con ordenamiento burbuja pero porque me ayudaron, falta ordenamiento quicksort, dejo el codigo:

Python:
#funciones

def calcular_puntos(pg,pe):
    puntos=[]
    for i in range(N):
        pun=pg[i]*3+pe[i]*1
        puntos.append(pun)
    return puntos

def ordenamiento_burbuja(nombres,pg,pe,pp,puntos):
    for i in range(0,N-1,1):
        for j in range(i+1,N,1):
            if puntos[i]<=puntos[j]:
                t=nombres[i]
                nombres[i]=nombres[j]
                nombres[j]=t

                t=pg[i]
                pg[i]=pg[j]
                pg[j]=t

                t=pe[i]
                pe[i]=pe[j]
                pe[j]=t  

                t=pp[i]
                pp[i]=pp[j]
                pp[j]=t  

                t=puntos[i]
                puntos[i]=puntos[j]
                puntos[j]=t          
    return nombres,pg,pe,pp,puntos

#programa principal

N=int(input("cantiad de equipos: "))
nombres=[]
pg=[]
pe=[]
pp=[]
puntos=[]
for i in range(N):
    nom=input("nombre equipos: ")
    p_g=int(input("partidos ganados: "))
    p_e=int(input("partidos empatados: "))
    p_p=int(input("partidos perdidos: "))
    nombres.append(nom)
    pg.append(p_g)
    pe.append(p_e)
    pp.append(p_p)

   
#calcular puntos

puntos=calcular_puntos(pg,pe)
#ordenamiento

nombres,pg,pe,pp,puntos=ordenamiento_burbuja(nombres,pg,pe,pp,puntos)

#falta imprimir porque no se como presentar los datos

Extremadamente trivial con expresiones regulares, se hace en una sola línea:

Python:
import re

def del_consecutives(char, string):
    return re.sub(char + "{2,}",char,string)

print(del_consecutives("a", "abracaadaaabraaaa"))

Solamente sería validar que char sea 1 caracter, eso es todo.
lanero si no es mucha molestia podria explicar su codigo para dummys? entiendo que esta creando una funcion llamada del_consecutives, a esa funcione le asignan los parametros char y string luego pide que retorne algo pero ahi me perdi despues del retur.
 
Última edición por un moderador:

Los últimos temas