Juego ejercicios [Python]

Iniciado por Masita, 21 Diciembre 2009, 03:04 AM

0 Miembros y 1 Visitante están viendo este tema.

CaronteGold


  Ejercicio... , pues crear un objeto ( triángulo ) y calcular sus razones trigonométricas ( Seno,Coseno y Tangente) dados sus tres lados y sus tres ángulos.


  Saludos.

braulio--


CaronteGold

#82
  No, pero ahora que lo dices, podría ser una alternativa distinta, como veas, si quieres hacerlo así, perfecto.

 Una cosa, los ángulos dados, para que no haya mucha complicación que se indique entre que lados se forman, ejemplo:


 Ángulo entre Lado1 y Lado2 = 90 ( siempre )

 Ángulo entre Lado1 y Hipotenusa = x

 Ángulo entre Lado2 y Hipotenusa  = y

 Saludos.

  EDITO:

He visto en la web de Python, un módulo para lo de fibonacci.

http://docs.python.org/tutorial/modules.html

   

Novlucker

Alguien va a hacer el ejercicio? ;D

Yo lo estaba haciendo, pero para que fuera más entretenido estaba creando una aplicación (C#) por línea de comandos que pudiese generar un PNG con el triángulo y sus datos, y que fuera lanzada desde el py :xD

CitarHe visto en la web de Python, un módulo para lo de fibonacci.
http://docs.python.org/tutorial/modules.html

Puede ser, pero es que estar buscando un módulo para algo que no plantea problemas, mejor hacer el nuestro :-\ , igual he visto modulos "menos necesarios" :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

CaronteGold



  Yo mañana lo haré, ahora me iré a dormir..., creo que lo de los ángulos, no es exactamente necesario, pero igual sí puede complementar con algo, no lo sé.


  Saludos.

  Por cierto, creo que hay una librería VPython para figuras en 3D, yo había copiado un código de un cubo verde, no sé si está bien, ya que no lo he probado, ( no conseguí poner bien la librería y me dio pereza  :P )

Code, cubo verde:

import visual
p = visual.vector (5,4,-1)
s = (4,4,4)
c = color=visual.color.red
cubo = visual.box(pos=p,size=s,color=c)

Masita

#85
Aqui esta  ::) Me hubiese gustado poder comprobar tambien si el triangulo segun las medidas de los lados y los angulos era posible o se cortaban pero eso para otro dia, que si no tendreis que buscar un triangulo real para ver si funciona. :laugh:
Código (python) [Seleccionar]

class triangul():
def __init__(self,hipotenusa,catetoc,catetoo,anguloa,angulob,):
self.hipotenusa = hipotenusa
self.catetoc = catetoc
self.catetoo = catetoo
self.anguloa = anguloa
self.angulob = angulob
def comprobar(self):
if self.anguloa+self.angulob != 90:
return False
elif self.hipotenusa < self.catetoc or self.hipotenusa < self.catetoo:
return False
return True
def sen(self):
return self.catetoo/self.hipotenusa
def cos(self):
return self.catetoc/self.hipotenusa
def tan(self):
return self.catetoo/self.catetoc

def datos():
try:
hipo = float(raw_input("Ingresa la hipotenusa:  "))
catec = float(raw_input("Ingresa el cateto continuo:  "))
cateo = float(raw_input("Ingresa el cateto opuesto:  "))
anga = float(raw_input("Ingresa el angulo entre hipotenusa y cateto opuesto:  "))
angb = float(raw_input("Ingresa el angulo entre hipotenusa y cateto continuo:  "))
  except:
print "Eso no es un numero"
datos()
return  triangul(hipo,catec,cateo,anga,angb)

triangulo = datos()
if not triangulo.comprobar():
print "Ese triangulo no existe"
else:
print "El seno es:",triangulo.sen()
print "El coseno es:",triangulo.cos()
print "La tangente es:",triangulo.tan()


Que alguien le de el visto bueno y planteo la siguiente pregunta. Hasta entonces tratare de ver como podria hacer lo de dibujarlo xD

MODIFICO: Me voy a dormir asi que dejo el ejercicio por si acaso, si lo dais por bueno pues a resolver si no ya sabeis lo que planteare si acierto otro xD

- Modificar el ejercicio de exportar el listado del directorio a un archivo de texto, para convertirlo en un servidor que cuando reciba cierta orden mande "el contenido del txt" al cliente.
-Solo se pide el Servidor el cliente no hace falta postearlo. De todos modos si alguien lo quiere postear tambien ningun problema.
-En un principio puse mandar el .txt pero con que el cliente reciba el contenido de este el ejercicio ya se dara por resuelto.
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....

braulio--

Código (python) [Seleccionar]

import socket,os
s = socket.socket()
s.bind(('localhost',6510))
s.listen(1)
cliente,puerto = s.accept()
while 1:
  if cliente.recv(4096)=="ls\n":
    cliente.send("\n".join(os.listdir(os.getcwd())))
  if cliente.recv(4096)=="exit\n":
    cliente.close()
    s.close()
    exit()

Funciona si usas netcat como cliente.
Mi ejercicio va a ser ... un programa, al que tu le des una página y te descargue el contenido, una vez ahí tu le puedes preguntar por una etiqueta y el programa te dirá todas las veces que sale y que atributos tienen.
Es un poco mas difícil.

Masita

#87
Código (python) [Seleccionar]

import urllib2
def web():
url ="http://www."+raw_input("introduce la web (ej:google.com):  ")
f = urllib2.urlopen(url)
return f.read()

x = web()
y = raw_input("etiqueta ha encontrar (ej:<div>):  ")
pos1 = 0
pos2 = 0
indice = 0
while True:
pos1 = x.find(y[0:len(y)-1],pos2)
pos2 = x.find(">",pos1)
if pos1 == -1:
break
else:
print "Encontrada con atributo: ",x[pos1:pos2+1]
indice+=1
print "se han encontrado %d etiquetas %s" % (indice,y)


Pongo tambien la salida:


Masita@Hartigan Documentos]$ python web.py
introduce la web (ej:google.com):  elhacker.net
etiqueta ha encontrar (ej:<div>):  <div>
Encontrada con atributo:  <div id="page_margins">
Encontrada con atributo:  <div id="topnav">
Encontrada con atributo:  <div id="header">
Encontrada con atributo:  <div id="data">
Encontrada con atributo:  <div id="main">
Encontrada con atributo:  <div id="col1">
Encontrada con atributo:  <div id="col1_content" class="clearfix">
Encontrada con atributo:  <div id="elhacker">
Encontrada con atributo:  <div id="submenu1" >
Encontrada con atributo:  <div id="servicios">
Encontrada con atributo:  <div id="submenu2">
Encontrada con atributo:  <div id="downloads">
Encontrada con atributo:  <div id="submenu3">
Encontrada con atributo:  <div id="participa">
Encontrada con atributo:  <div id="submenu4">
Encontrada con atributo:  <div id="col3">
Encontrada con atributo:  <div id="col3_content" class="clearfix">
Encontrada con atributo:  <div align="center">
Encontrada con atributo:  <div align="center" class="style1">
Encontrada con atributo:  <div align="left">
Encontrada con atributo:  <div id="ie_clearing">
se han encontrado 21 etiquetas <div>
[Masita@Hartigan Documentos]$


Supongo que eso son los atributos....

El siguiente ejercicio consiste en pedir un rango de ip's y comprobar si utilizan el servidorweb y version que nosotros le pasemos.
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....

Novlucker

Dejo mi solución para el caso de las etiquetas web utilizando expresiones regulares :P
Código (python) [Seleccionar]
import urllib.request, re
def webrequest(url):
web = urllib.request.urlopen(url)
return str(web.read())

URL = input("Ingrese la url 'completa' de la web: ")
TAG = input("Ingrese etiqueta a buscar: ")

r = re.compile(TAG[:-1]+'.*?'+TAG[-1], re.IGNORECASE)
Tags = r.findall(webrequest(URL))

for t in Tags:
print("Etiqueta encontrada: "+ t)
print("Se han encontrado " + str(len(Tags)) + " etiquetas")


En Python 3.x se dejó de lado urllib2, por eso el urllib.request

Sobre el último ejercicio ... sería consultar un rango de IP's y ver si tienen un servidor web corriendo y su versión?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Masita

#89
Si Novlucker seria exactamente eso. Yo ya lo termine pero me llevo mas de un quebradero de cabeza la parte que genera el rango de ip's.
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....