Autor
|
Tema: [Python] - El más cercano al primero (Leído 14,555 veces)
|
ChicoMaravilla
Desconectado
Mensajes: 61
|
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
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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 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
Mensajes: 61
|
ok, si no sabia porque me salían mal los tildes , gracias por la respuesta inmediata
|
|
|
En línea
|
|
|
|
ChicoMaravilla
Desconectado
Mensajes: 61
|
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 me mate haciéndolo y me reeeeee queme la cabeza ajaja uuuuuuuuuuffff alfiiiin aleluyaaaaaaaa y aca les dejo MI HIJO: #------------------------------------------------------------------------------- # Name: VALOR CERCANO # Purpose: # # Author: Lucas_Solymar # # Created: 04/12/2010 # Copyright: (c) Administrador 2010 # Licence: <your licence> #------------------------------------------------------------------------------- #!/usr/bin/env python numero1=int(input("DAME UN NUMERO")) numero2=int(input("DAME OTRO NUMERO")) numero3=int(input("DAME OTRO NUMERO")) numero4=int(input("DAME OTRO NUMERO")) numero5=int(input("DAME OTRO NUMERO")) rango=0 print "Los valores son",numero1,numero2,numero3,numero4,numero5 if numero2<numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango1<rango2: if rango1<rango3: if rango1<rango4: numero=2 if rango2<rango3: if rango2<rango4: if rango2<rango1: numero=3 if rango3<rango4: if rango3<rango1: if rango3<rango2: numero=4 if rango4<rango1: if rango4<rango2: if rango4<rango3: numero=5 if numero3<numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango1<rango2: if rango1<rango3: if rango1<rango4: numero=2 if rango2<rango3: if rango2<rango4: if rango2<rango1: numero=3 if rango3<rango4: if rango3<rango1: if rango3<rango2: numero=4 if rango4<rango1: if rango4<rango2: if rango4<rango3: numero=5 if numero4<numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango1<rango2: if rango1<rango3: if rango1<rango4: numero=2 if rango2<rango3: if rango2<rango4: if rango2<rango1: numero=3 if rango3<rango4: if rango3<rango1: if rango3<rango2: numero=4 if rango4<rango1: if rango4<rango2: if rango4<rango3: numero=5 if numero5<numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango1<rango2: if rango1<rango3: if rango1<rango4: numero=2 if rango2<rango3: if rango2<rango4: if rango2<rango1: numero=3 if rango3<rango4: if rango3<rango1: if rango3<rango2: numero=4 if rango4<rango1: if rango4<rango2: if rango4<rango3: numero=5 if numero2>numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango1>rango2: if rango1>rango3: if rango1>rango4: numero=2 if numero3>numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango2>rango1: if rango2>rango3: if rango2>rango4: numero=3 if numero4>numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango3>rango1: if rango3>rango2: if rango3>rango4: numero=4 if numero5>numero1: rango1=numero1 - numero2 rango2=numero1 - numero3 rango3=numero1 - numero4 rango4=numero1 - numero5 if rango4>rango1: if rango4>rango2: if rango4>rango4: numero=5 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
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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 me mate haciéndolo y me reeeeee queme la cabeza ajaja uuuuuuuuuuffff alfiiiin aleluyaaaaaaaa y aca les dejo MI HIJO: 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 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 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
Mensajes: 61
|
Te envié el PM porque quería asegurarme de que lo hubieses hecho, cosa de la que desconfiaba 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 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 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
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
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. #!/usr/bin/env python a=input("Ingresa un numero: ") d=input("Ingresa otro numero: ") c=abs(d-a) for i in range(0,3): b = input("Ingresa otro numero: ") if c>abs(b-a): c=abs(b-a) d=b print "el numero mas cercano a "+str(a)+" es "+str(d)
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Lo que pasa es que para llegar al for aún le quedan 16 páginas 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
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Lo que pasa es que para llegar al for aún le quedan 16 páginas 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. #!/usr/bin/env python a=input("Ingresa un numero: ") d=input("Ingresa otro numero: ") c=abs(d-a) b = input("Ingresa otro numero: ") if c>abs(b-a): c=abs(b-a) d=b b = input("Ingresa otro numero: ") if c>abs(b-a): c=abs(b-a) d=b b = input("Ingresa otro numero: ") if c>abs(b-a): c=abs(b-a) d=b print "el numero mas cercano a "+str(a)+" es "+str(d)
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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 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? 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
|
|
|
|
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
|
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
|
16 Octubre 2010, 13:12 pm
por Pere Navarro
|
|
|
[Código] Cuadrado del primero - Ejercicio [Python]
Scripting
|
@Sthéfano
|
4
|
6,614
|
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
|
30 Enero 2012, 22:53 pm
por wolfbcn
|
|
|
Problema con el par mas cercano.
Programación C/C++
|
majojimu
|
6
|
2,426
|
9 Julio 2013, 11:29 am
por eferion
|
|