elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python] - El más cercano al primero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Python] - El más cercano al primero  (Leído 14,555 veces)
ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
[Python] - El más cercano al primero
« en: 3 Diciembre 2010, 14:47 pm »

Buenas a todos, tengo otra duda, es sobre este ejercicio:

· 83 Diseña un programa que, dados cinco n´umeros enteros, determine cual de los cuatro
ultimos numeros es mas cercano al primero. (Por ejemplo, si el usuario introduce los n´umeros
2, 6, 4, 1 y 10, el programa respondera que el numero mas cercano al 2 es el 1.)
mi pregunta:¿ hay algún comando de aproximación o algún método para resolver esto?



En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #1 en: 3 Diciembre 2010, 14:54 pm »

Hay maneras de hacerlo sencillo, pero creo que lo que te pide el ejercicio es para que lo hagas con condicionales y tal vez bucles.

[offtopic]
Se nota que copias y pegas los textos de un pdf porque los acentos salen mal, y los códigos no tengo idea, pero vienen preformateados con tablas y demás, y salen horribles :xD Verifica que los códigos solo ventan entre etiquetas [code=python][/code]
[/offtopic]

Saludos


En línea

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
ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #2 en: 3 Diciembre 2010, 15:36 pm »

ok, si no sabia porque me salían mal los tildes   :silbar: , gracias por la respuesta inmediata  ::)
En línea

ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #3 en: 4 Diciembre 2010, 03:36 am »

aquí les dejo mi solución.

PD: perdónenme que no les conteste tan rápido pero recién me fije el PM de casualidad

EL EJERCICIO DECÍA QUE UTILIZARA LOS "IF", PERO... ME PASE UN POQUITO JEJEJ
LO RE INSCRIBÍ, Y CREE UN MONSTRUO

CRÉDITOS: SOLO PARA MI   ;D

me mate haciéndolo y me reeeeee queme la cabeza ajaja uuuuuuuuuuffff alfiiiin aleluyaaaaaaaa y aca les dejo MI HIJO:

Código
  1. #-------------------------------------------------------------------------------
  2. # Name:        VALOR CERCANO
  3. # Purpose:
  4. #
  5. # Author:      Lucas_Solymar
  6. #
  7. # Created:     04/12/2010
  8. # Copyright:   (c) Administrador 2010
  9. # Licence:     <your licence>
  10. #-------------------------------------------------------------------------------
  11. #!/usr/bin/env python
  12.  
  13. numero1=int(input("DAME UN NUMERO"))
  14. numero2=int(input("DAME OTRO NUMERO"))
  15. numero3=int(input("DAME OTRO NUMERO"))
  16. numero4=int(input("DAME OTRO NUMERO"))
  17. numero5=int(input("DAME OTRO NUMERO"))
  18. rango=0
  19. print "Los valores son",numero1,numero2,numero3,numero4,numero5
  20. if numero2<numero1:
  21.    rango1=numero1 - numero2
  22.    rango2=numero1 - numero3
  23.    rango3=numero1 - numero4
  24.    rango4=numero1 - numero5
  25.    if rango1<rango2:
  26.            if rango1<rango3:
  27.                if rango1<rango4:
  28.                    numero=2
  29.    if rango2<rango3:
  30.            if rango2<rango4:
  31.                if rango2<rango1:
  32.                    numero=3
  33.    if rango3<rango4:
  34.            if rango3<rango1:
  35.                if rango3<rango2:
  36.                    numero=4
  37.    if rango4<rango1:
  38.            if rango4<rango2:
  39.                if rango4<rango3:
  40.                    numero=5
  41. if numero3<numero1:
  42.    rango1=numero1 - numero2
  43.    rango2=numero1 - numero3
  44.    rango3=numero1 - numero4
  45.    rango4=numero1 - numero5
  46.    if rango1<rango2:
  47.            if rango1<rango3:
  48.                if rango1<rango4:
  49.                    numero=2
  50.    if rango2<rango3:
  51.            if rango2<rango4:
  52.                if rango2<rango1:
  53.                    numero=3
  54.    if rango3<rango4:
  55.            if rango3<rango1:
  56.                if rango3<rango2:
  57.                    numero=4
  58.    if rango4<rango1:
  59.            if rango4<rango2:
  60.                if rango4<rango3:
  61.                    numero=5
  62. if numero4<numero1:
  63.    rango1=numero1 - numero2
  64.    rango2=numero1 - numero3
  65.    rango3=numero1 - numero4
  66.    rango4=numero1 - numero5
  67.    if rango1<rango2:
  68.            if rango1<rango3:
  69.                if rango1<rango4:
  70.                    numero=2
  71.    if rango2<rango3:
  72.            if rango2<rango4:
  73.                if rango2<rango1:
  74.                   numero=3
  75.    if rango3<rango4:
  76.            if rango3<rango1:
  77.                if rango3<rango2:
  78.                    numero=4
  79.    if rango4<rango1:
  80.            if rango4<rango2:
  81.                if rango4<rango3:
  82.                    numero=5
  83. if numero5<numero1:
  84.    rango1=numero1 - numero2
  85.    rango2=numero1 - numero3
  86.    rango3=numero1 - numero4
  87.    rango4=numero1 - numero5
  88.    if rango1<rango2:
  89.            if rango1<rango3:
  90.                if rango1<rango4:
  91.                    numero=2
  92.    if rango2<rango3:
  93.            if rango2<rango4:
  94.                if rango2<rango1:
  95.                    numero=3
  96.    if rango3<rango4:
  97.            if rango3<rango1:
  98.                if rango3<rango2:
  99.                    numero=4
  100.    if rango4<rango1:
  101.            if rango4<rango2:
  102.                if rango4<rango3:
  103.                    numero=5
  104. if numero2>numero1:
  105.    rango1=numero1 - numero2
  106.    rango2=numero1 - numero3
  107.    rango3=numero1 - numero4
  108.    rango4=numero1 - numero5
  109.    if rango1>rango2:
  110.            if rango1>rango3:
  111.                if rango1>rango4:
  112.                    numero=2
  113. if numero3>numero1:
  114.    rango1=numero1 - numero2
  115.    rango2=numero1 - numero3
  116.    rango3=numero1 - numero4
  117.    rango4=numero1 - numero5
  118.    if rango2>rango1:
  119.            if rango2>rango3:
  120.                if rango2>rango4:
  121.                    numero=3
  122. if numero4>numero1:
  123.    rango1=numero1 - numero2
  124.    rango2=numero1 - numero3
  125.    rango3=numero1 - numero4
  126.    rango4=numero1 - numero5
  127.    if rango3>rango1:
  128.            if rango3>rango2:
  129.                if rango3>rango4:
  130.                    numero=4
  131. if numero5>numero1:
  132.    rango1=numero1 - numero2
  133.    rango2=numero1 - numero3
  134.    rango3=numero1 - numero4
  135.    rango4=numero1 - numero5
  136.    if rango4>rango1:
  137.            if rango4>rango2:
  138.                if rango4>rango4:
  139.                    numero=5
  140.  
  141.  
  142. print "El valor ",numero,"es el mas sercano al primero"

a diferencia de otros, este acepta números mayores y menos que el valor inicial.

materiales:
-una hora
-mucha lógica

y me quede super contento de que lo termine XD
lo hice bien completito, para que pueda abarcar todas las posibilidades.

el script lo que hace es mostrar la lista que colocaste en orden de como los has escrito, y luego te dice que por ejemplo el numero 2 es el más cercano, o cea que el 2º valor que colocaste sera el indicado


PD: LEGIBILIDAD 0%
si me preocupaba en eso, no terminaba más

« Última modificación: 4 Diciembre 2010, 04:58 am por lucas_solymar » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #4 en: 5 Diciembre 2010, 03:39 am »

Citar
PD: perdónenme que no les conteste tan rápido pero recién me fije el PM de casualidad
Te envié el PM porque quería asegurarme de que lo hubieses hecho, cosa de la que desconfiaba :P

Citar
me mate haciéndolo y me reeeeee queme la cabeza ajaja uuuuuuuuuuffff alfiiiin aleluyaaaaaaaa y aca les dejo MI HIJO:
Citar
PD: LEGIBILIDAD 0%
si me preocupaba en eso, no terminaba más

Me alegro que lo hayas hecho tú, eso es fundamental, no importa si no es de la manera correcta o si se puede hacer mejor o más legible, la cuestión es que puedas razonarlo y que le encuentres una lógica por ti mismo, con eso es suficiente ;D

Otra cosa, estas programando en Python 3? Porque si es de la rama 2.x no es necesario hacer int, el input de por si es para números :P

Saludos
En línea

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
ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #5 en: 5 Diciembre 2010, 18:46 pm »

Te envié el PM porque quería asegurarme de que lo hubieses hecho, cosa de la que desconfiaba :P

Me alegro que lo hayas hecho tú, eso es fundamental, no importa si no es de la manera correcta o si se puede hacer mejor o más legible, la cuestión es que puedas razonarlo y que le encuentres una lógica por ti mismo, con eso es suficiente ;D

Otra cosa, estas programando en Python 3? Porque si es de la rama 2.x no es necesario hacer int, el input de por si es para números :P

Saludos


 ::) , el int lo pongo de no se que.  Me resulta más comodo utilizar pyscripter, se los recomiendo, esta bueno. y Gracias Novlucker por tus palabras ;)
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] - El más cercano al primero
« Respuesta #6 en: 6 Diciembre 2010, 06:53 am »

Solo una pequeña correccion, si utilizas iteraciones podrias economizar muchas lineas y otras muchas mas si entiendes verdaderamente el problema antes de empezar a programar, aparte de eso tambien economizarias espacio en memoria.

Código
  1. #!/usr/bin/env python
  2. a=input("Ingresa un numero: ")
  3. d=input("Ingresa otro numero: ")
  4. c=abs(d-a)    
  5.  
  6. for i in range(0,3):
  7.    b = input("Ingresa otro numero: ")
  8.    if c>abs(b-a):
  9.        c=abs(b-a)
  10.        d=b
  11.  
  12. print "el numero mas cercano a "+str(a)+" es "+str(d)
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #7 en: 6 Diciembre 2010, 10:30 am »

Lo que pasa es que para llegar al for aún le quedan 16 páginas :xD

Saludos
En línea

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
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [Python] - El más cercano al primero
« Respuesta #8 en: 6 Diciembre 2010, 14:55 pm »

Lo que pasa es que para llegar al for aún le quedan 16 páginas :xD

Saludos

igual necesita la distancia absoluta entre un numero y otro y no la calcula... por lo tanto dara resultados erroneos... y aun me apego a que tendria que sentarse a mirar bien el problema antes de pasarlo ya a un lenguaje de programacion.

Código
  1. #!/usr/bin/env python
  2. a=input("Ingresa un numero: ")
  3. d=input("Ingresa otro numero: ")
  4. c=abs(d-a)  
  5.  
  6. b = input("Ingresa otro numero: ")
  7. if c>abs(b-a):
  8.    c=abs(b-a)
  9.    d=b
  10.  
  11. b = input("Ingresa otro numero: ")
  12. if c>abs(b-a):
  13.    c=abs(b-a)
  14.    d=b
  15.  
  16. b = input("Ingresa otro numero: ")
  17. if c>abs(b-a):
  18.    c=abs(b-a)
  19.    d=b
  20.  
  21. print "el numero mas cercano a "+str(a)+" es "+str(d)
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] - El más cercano al primero
« Respuesta #9 en: 6 Diciembre 2010, 15:04 pm »

Ups es verdad, el problema es que siempre me marca como más cercano el primer número, lo cual es lógico pero no válido :xD

Por otra parte si te fijas, el hizo algo similar sin usar abs, por eso tiene las restas y los mayores/menores para un lado y para el otro

¿Podrías hacerlo solo con if? :xD

Saludos
En línea

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
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(Python)Existen ventanas de entrada y salida de datos en python « 1 2 »
Scripting
tonilogar 11 16,329 Último mensaje 29 Noviembre 2009, 00:49 am
por tonilogar
[python]VideoTraining Aprende A Programar En Python desde 0 « 1 2 3 »
Python
juh 22 18,706 Último mensaje 16 Octubre 2010, 13:12 pm
por Pere Navarro
[Código] Cuadrado del primero - Ejercicio [Python]
Scripting
@Sthéfano 4 6,614 Último mensaje 8 Enero 2011, 17:44 pm
por [L]ord [R]NA
El fin del phishing parece más cercano gracias a DMARC
Noticias
wolfbcn 0 2,428 Último mensaje 30 Enero 2012, 22:53 pm
por wolfbcn
Problema con el par mas cercano.
Programación C/C++
majojimu 6 2,426 Último mensaje 9 Julio 2013, 11:29 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines