Mostrar los tags: python

Mostrando del 131 al 140 de 258 coincidencias
Se ha buscado por el tag: python
Imágen de perfil

Acertijo en Python


Python

Publicado el 4 de Septiembre del 2019 por Rodolfo
2.578 visualizaciones desde el 4 de Septiembre del 2019
Un amigo me puso este acertijo para que lo resolviera en una hora.

Quizá les parezca interesante. Es una función que genera un hash de una palabra y el objetivo es crear la función un_hash, para determinar la palabra a partir del hash generado.

Les recomiendo no mirar la función un_hash y tratar de resolverlo primero. Sería interesante ver como lo resuelven Uds.

Saludos,

Rodolfo
Imágen de perfil

Capturas de Pantalla con Python


Python

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 26 de Agosto del 2019 por Yordani
2.753 visualizaciones desde el 26 de Agosto del 2019
Este es un código muy básico muestra como capturar la pantalla del ordenador y guardarlo en un archivo.

Para usar el código para Windows y Mac debes instalar la librería PIL.
Para usar en código para Linux, debes instalar la librería pyscreenshot.
Imágen de perfil

PerceptrónSimple


Python

Publicado el 27 de Julio del 2019 por Fernando
8.552 visualizaciones desde el 27 de Julio del 2019
MODELO DE PERCEPTRON SIMPLE
Los perceptrones son tipos de redes neuronales, las neuronal network más simples que existen. El modelo de perceptrón simple permite realizar una clasificación binaria de dos clases linealmente separables. Cada clase puede contener diferentes variables (X1 … Xn), cada una de estas variables supone una entrada a la red neuronal. Cada entrada se asocia a un determinado peso (W1 … Wn), el sumatorio del producto de cada entrada por su correspondiente peso nos da un valor, Z (z= Σ Xn*Wn ). Las diferentes entradas convergen en una misma neurona, esta representa la neurona de salida y tendrá un determinado umbral de activación, Y. Si el valor Z es mayor que el umbral de activación (Y) la neurona se activará y clasificará una clase como positiva, si por el contrario el valor Z no supera el umbral de activación Y, la neurona no se activará y clasificará la clase como negativa. El modelo de perceptrón simple requiere de un entrenamiento supervisado, es decir, para cada conjunto de valores le indicamos a que clase pertenecen dichos valores. De esta forma, cada vez que se equivoque al clasificar un conjunto de valores, se podrán ajustar los diferentes pesos W. A medida que esta red se va entrenando siempre convergerá en una solución, siempre y cuando, las dos clases sean LINEALMENTE SEPARABLES.
A continuación, vamos con un programa sumamente sencillo. En este programa, las dos clases contienen 4 variables las cuales, corresponden a números aleatorios en coma flotante comprendidos entre 0 y 1. Aparecen ajustados los intervalos (en la función al() ) para que ambas clases sean linealmente separables ya que si no, el programa nunca encontrará una solución. Los pesos del perceptrón han sido iniciados aleatoriamente en el intervalo de 0 a 0.5. Como mencioné anteriormente, se trata de un tipo de aprendizaje supervisado, por ello, para cada conjunto de datos se indica la clase a la que pertenece. Una vez que tenemos los datos a clasificar y los pesos del perceptrón inicializados aleatoriamente, el siguiente paso consiste en ajustan los pesos. Estos pesos se ajustarán solo cuando el clasificador falle siguiendo la función de entrenamiento (o algoritmo de aprendizaje)  Wt+1 = Wt + (0 - Z)*Xn . Si el clasificador acierta la clase los pesos no se corrigen. Tras el entrenamiento el clasificador (en este caso en dos o tres ciclos) alcanza un rendimiento del 100%, de forma que todos los conjuntos de datos pertenecientes a la Clase 1 tienen un valor de Z > Y (superan el umbral de activación) y todos los datos pertenecientes a la Clase 2 tienen un valor de Z < Y (inferiores al umbral de activación).
Se trata de un algoritmo muy muy sencillo que representa el potencial de la Inteligencia Artificial en el análisis de datos. El umbral de activación o más formalmente la función de activación corresponde a la función más sencilla posible, la función escalón de McCulloch y Pitts. Estoy disponible para cualquier duda o sugerencia. Se que esto es un ejemplo sencillo, estaba practicando, diseñé e hice el programa en menos de una hora y decidí compartirlo por si a alguien le interesaba un poco el tema haciendo una mini-explicación.
Imágen de perfil

Mostrar el tiempo en formato entendible


Python

Actualizado el 8 de Julio del 2019 por Joel (150 códigos) (Publicado el 19 de Diciembre del 2018)
1.641 visualizaciones desde el 19 de Diciembre del 2018
Esta clase puede recibir milisegundos, segundos, minutos y horas, y devuelve una cadena con un formato mas entendible.

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
obj=timeHuman()
 
obj.reset().setMiliseconds(2000)
print(obj.getTimeHuman())
# devolverá: 2 seconds
 
obj.reset().setSeconds(1480)
print(obj.getTimeHuman())
# devolverá: 24 minutes and 40 seconds
 
obj.reset().setMinutes(60)
print(obj.getTimeHuman())
# devolverá: 1 hour
 
obj.reset().setHours(3)
print(obj.getTimeHuman())
# devolverá: 3 hours
 
obj.reset().setHours(30).setSeconds(1480).setMiliseconds(2000)
print(obj.getTimeHuman())
# devolverá: 1 day, 6 hours, 24 minutes and 42 seconds
 
obj.reset().setSeconds(1441)
print(obj.getTimeHuman())
# devolverá: 24 minutes and 1 second
Imágen de perfil

Clase para configurar el archivo dhcpd.conf de nuestro servidor


Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 26 de Junio del 2019 por Xavi (548 códigos)
1.722 visualizaciones desde el 26 de Junio del 2019
Clase para gestionar el archivo dhcpd.conf de nuestro servidor

readFile() -> lea el archivo dhcpd recibido en el constructor y ponga los datos en dos listas
getValue() -> devuelve el valor de la clave recibida
setValue() -> actualizar el valor si existe o agregar un nuevo valor si no existe
removeValue() -> eliminar valores
clearSubnet() -> elimina las subredes creadas o leídas del archivo
newSubnet() -> crea una nueva subred
getSubnetNumber() -> devuelve el número de subredes
getSubnetValue() -> devuelve el valor de la subred indicada
setSubnetValue() -> agregar o actualizar valores de la subred
guardar() -> guardar cualquier cambio en el archivo

Un archivo de configuración es similar a:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
option domain-name "example.org";                               getValue(), setValue()
option domain-name-servers ns1.example.org, ns2.example.org;    getValue(), setValue()
default-lease-time 600;                                         getValue(), setValue()
max-lease-time 7200;                                            getValue(), setValue()
subnet 10.5.5.0 netmask 255.255.255.224 {                       getSubnetNumber(), newSubnet(), clearSubnet(), getSubnetValue()
    range 10.5.5.26 10.5.5.30;                                  setSubnetValue(), getSubnetValue()
    option domain-name-servers ns1.internal.example.org;        setSubnetValue(), getSubnetValue()
    option domain-name "internal.example.org";                  setSubnetValue(), getSubnetValue()
    option routers 10.5.5.1;                                    setSubnetValue(), getSubnetValue()
    option broadcast-address 10.5.5.31;                         setSubnetValue(), getSubnetValue()
    default-lease-time 600;                                     setSubnetValue(), getSubnetValue()
    max-lease-time 7200;                                        setSubnetValue(), getSubnetValue()
}
subnet 10.10.10.0 netmask 255.255.255.0 {                       getSubnetNumber(), newSubnet(), clearSubnet(), getSubnetValue()
    range 10.10.10.200 10.10.10.230;                            setSubnetValue(), getSubnetValue()
    option domain-name-servers 8.8.8.8;                         setSubnetValue(), getSubnetValue()
    option domain-name "internal.example.org";                  setSubnetValue(), getSubnetValue()
    option routers 10.10.10.1;                                  setSubnetValue(), getSubnetValue()
    option broadcast-address 10.10.10.255;                      setSubnetValue(), getSubnetValue()
}