· 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.) |
#-------------------------------------------------------------------------------
# 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"
CitarPD: perdónenme que no les conteste tan rápido pero recién me fije el PM de casualidadTe envié el PM porque quería asegurarme de que lo hubieses hecho, cosa de la que desconfiaba :P
Citarme mate haciéndolo y me reeeeee queme la cabeza ajaja uuuuuuuuuuffff alfiiiin aleluyaaaaaaaa y aca les dejo MI HIJO:
CitarPD: LEGIBILIDAD 0%
si me preocupaba en eso, no terminaba más
Cita de: Novlucker en 5 Diciembre 2010, 03:39 AM
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
#!/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)
Cita de: Novlucker 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
#!/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)
Cita de: Novlucker en 6 Diciembre 2010, 15:32 PM
Si, usas abs, yo digo solo a base de if :D
Saludos
#!/usr/bin/env python
a=input("Ingresa un numero: ")
d=input("Ingresa otro numero: ")
c=d-a
if c<0: c*=(-1)
b = input("Ingresa otro numero: ")
if 0>b-a:
if c>(a-b):
c=a-b
d=b
else:
if c>(b-a):
c=b-a
d=b
b = input("Ingresa otro numero: ")
if 0>b-a:
if c>(a-b):
c=a-b
d=b
else:
if c>(b-a):
c=b-a
d=b
b = input("Ingresa otro numero: ")
if 0>b-a:
if c>(a-b):
c=a-b
d=b
else:
if c>(b-a):
c=b-a
d=b
print "el numero mas cercano a "+str(a)+" es "+str(d)
Cita de: Novlucker en 6 Diciembre 2010, 16:57 PM
Ya, pero es lo que digo, es lo que intentó hacer él, lo que ocurre es que se ciñó un poco más a la letra, teniendo primero los 5 números para luego hacer la comparación, parece que no estuvieses viendo su código, por que crees que tiene tantas comparaciones? :xD
Saludos
a=int(input("Ingresa un numero: "))
b=int(input("Ingresa otro numero: "))
d = b - a if b > a else a - b
c = int(input("Ingresa otro numero: "))
b = c if c > a and c - a < d or c < a and a - c < d else b
d = b - a if b > a else a - b
c = int(input("Ingresa otro numero: "))
b = c if c > a and c - a < d or c < a and a - c < d else b
d = b - a if b > a else a - b
c = int(input("Ingresa otro numero: "))
b = c if c > a and c - a < d or c < a and a - c < d else b
print("el numero mas cercano a %d es %d"%(a,b))
a=int(input("Ingresa un numero: "))
b=int(input("Ingresa otro numero: "))
c = int(input("Ingresa otro numero: "))
b = c if (b-a if b>a else a-b)>(c-a if c>a else a-c) else b
c = int(input("Ingresa otro numero: "))
b = c if (b-a if b>a else a-b)>(c-a if c>a else a-c) else b
c = int(input("Ingresa otro numero: "))
b = c if (b-a if b>a else a-b)>(c-a if c>a else a-c) else b
print("el numero mas cercano a %d es %d"%(a,b))