Na figura, no plano cartesiano, a região sombreada não inclui as linhas de bordo. Note que o eixo y
cai bem no meio da figura, e usamos o lado do quadrado para indicar as ordenadas correspondentes.
Escreva um programa que lê as coordenadas cartesianas (x, y)
de um ponto, ambas do tipo float
e imprime dentro
se esse ponto está na região, e fora
caso contrário.
Solução 1:
x = float(input("Digite x: ")) y = float(input("Digite y: ")) # suponha que (x,y) está dentro dentro = True if x <= -5 or 5 <= x or y <= 0 or 8 <= y: # aqui sabemos que (x,y) está fora da face dentro = False elif -3 <= x <= 3 and 1 <= y <= 2: # aqui sabemos que (x,y) está na boca dentro = False elif -4 <= x <= -1 and 4 <= y <= 7: # aqui sabemos que (x,y) está no olho esquerdo dentro = False if -3 < x < -2 and 5 < y < 6: # aqui sabemos que na verdade (x,y) está na iris esquerda dentro = True elif 1 <= x <= 4 and 4 <= y <= 7: # aqui sabemos que (x,y) está no olho direito dentro = False if 2 < x < 3 and 5 < y < 6: # aqui sabemos que na verdade (x,y) está na iris direita dentro = True if dentro: print("dentro") else: print("fora")
Solução 2:
#começa supondo que está fora e depois... A variável dentro e um indicador de passagem bool. x = float(input("Digite x: ")) y = float(input("Digite y: ")) # suponha que (x,y) está fora dentro = False if -5 < x < 5 and 0 < y < 8: # aqui sabemos que (x,y) está na face dentro = True if -3 <= x <= 3 and 1 <= y <= 2: # aqui sabemos que (x,y) está na face, mas está na boca dentro = False elif -4 <= x <= -1 and 4 <= y <= 7: # aqui sabemos que (x,y) está no olho esquerdo dentro = False if -3 < x < -2 and 5 < y < 6: # aqui sabemos que na verdade (x,y) está na iris esquerda dentro = True elif 1 <= x <= 4 and 4 <= y <= 7: # aqui sabemos que (x,y) está no olho direito dentro = False if 2 < x < 3 and 5 < y < 6: # aqui sabemos que na verdade (x,y) está na iris direita dentro = True if dentro: print("dentro") else: print("fora")
Solução 3:
x_pos = x = float(input("Digite x: ")) y = float(input("Digite y: ")) if x < 0: # simetria ;-) x_pos = -x # suponha que (x,y) que está dentro dentro = True if x_pos >= 5 or y >= 8 or y <= 0: # aqui sabemos que (x,y) está fora da face dentro = False elif x_pos <= 3 and 1 <= y <= 2: # aqui sabemos que (x,y) está na boca dentro = False elif 1 <= x_pos <= 4 and 4 <= y <= 7: # aqui sabemos que (x,y) está em um olho if not (2 < x_pos < 3 and 5 < y < 6): # aqui sabemos que (x,y) está fora da iris dentro = False if dentro: print("dentro") else: print("fora")
Solução 4:
x_pos = x = float(input("Digite x: ")) y = float(input("Digite y: ")) if x < 0: x_pos = -x # face == True se (x,y) está na face face = x_pos < 5 and 0 < y < 8 # boca == True se (x,y) está na boca boca = x_pos <= 3 and 1 <= y <= 2 # olho == True se (x,y) está em um dos olhos olho = 1 <= x_pos <= 4 and 4 <= y <= 7 # iris == True se (x,y) está em uma das iris iris = 2 < x_pos < 3 and 5 < y < 6 # vixe! :-D complicado?! certamente muito elegante if iris or face and not (boca or olho): print("dentro") else: print("fora")