Ejercicio 15
title: Ejercicio 15 published: true —
- Enunciado
Empleando el concepto de función, realiza un programa que, conocido el centro y el radio de una circunferencia, determine si un punto está dentro, en , o fuera de la circunferencia.
El programa solicitará las coordenadas del centro y el radio. Depués, mientras no se ordene lo contrario, irá solicitando coordenadas de puntos y determinará su posición.
- Codigo
from math import *
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
print(bcolors.HEADER, "Introduce el valor del radio")
radio = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
print(bcolors.HEADER, "Introduce el valor de x centro")
xc = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
print(bcolors.HEADER, "Introduce el valor de y centro")
yc = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
print(bcolors.HEADER, "Introduce el valor de x")
x = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
print(bcolors.HEADER, "Introduce el valor de y")
y = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
# abs(distancia - radio) <= pow(10, -2)
# distancia == radio
def esta_dentro(xc, yc, x, y, radio):
distancia = sqrt(pow(x-xc, 2)+ pow(y-yc, 2))
if distancia < radio:
return "dentro del circulo"
elif distancia == radio: # abs(distancia - radio) <= 10^(-d) siendo d el numero de digitos decimales
return "sobre el circulo"
else:
return "fuera del circulo"
while True:
print(bcolors.OKBLUE, "Esta", esta_dentro(xc, yc, x, y, radio) , bcolors.ENDC, "\n")
print("Quieres introducir otro punto (y/n)")
sigo = input(bcolors.OKCYAN)
print(bcolors.ENDC)
if sigo == "y" or sigo == "Y":
print(bcolors.HEADER, "Introduce el valor de x")
x = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
print(bcolors.HEADER, "Introduce el valor de y")
x = eval(input(bcolors.OKBLUE))
print(bcolors.ENDC)
else:
break
print(bcolors.ENDC)