re
Publicado por Tarken (6 intervenciones) el 25/10/2007 18:10:11
Gracias por responder
¿Como valido los datos antes? Mi python es muy basico.
El codigo es el siguiente. Quito algunos poligonos para que sea mas facil de leer:
#Mostrar Selección:
print 'Por favor escoja un polígono por su número.'
print '1 -> Círculo'
print '5 -> Pentagono'
print '6 -> Hexágono'
print '8 -> Octógono'
print 'Etc'
#Elección del Usuario
poligono = input('> ')
#Calcular Área
n = [5, 7, 9]#Se usa en poligonos que necesitan apotema
if poligono > 9:
n.append(poligono)
from math import pi
if poligono == 1:
radio = float(input("Radio: "))
area = pi*radio**2
print "El area es", area
elif poligono == 6:#Para el hexagono no es necesaria apotema
lado = float(input("Lado: "))
perimetro = lado*6
area = (perimetro*(lado**2+(lado/2)**2)**(1/2))/2
print "El area es", area
elif poligono == 8:#Para el octogono no es necesaria apotema
lado = float(input('Lado: '))
perimetro = lado*8
area = perimetro*((lado**2)/2)**(1/2)
print 'El área es', area
elif poligono in n:
lado = float(input('Lado: '))
apotema = float(input('Apotema: '))
area = ((lado*poligono)*apotema)/2
print 'El área es', area
else:
print 'Datos erróneos.'
poligono = input('> ') #Se que esto esta mal. Que hay que hacer?
¿Como valido los datos antes? Mi python es muy basico.
El codigo es el siguiente. Quito algunos poligonos para que sea mas facil de leer:
#Mostrar Selección:
print 'Por favor escoja un polígono por su número.'
print '1 -> Círculo'
print '5 -> Pentagono'
print '6 -> Hexágono'
print '8 -> Octógono'
print 'Etc'
#Elección del Usuario
poligono = input('> ')
#Calcular Área
n = [5, 7, 9]#Se usa en poligonos que necesitan apotema
if poligono > 9:
n.append(poligono)
from math import pi
if poligono == 1:
radio = float(input("Radio: "))
area = pi*radio**2
print "El area es", area
elif poligono == 6:#Para el hexagono no es necesaria apotema
lado = float(input("Lado: "))
perimetro = lado*6
area = (perimetro*(lado**2+(lado/2)**2)**(1/2))/2
print "El area es", area
elif poligono == 8:#Para el octogono no es necesaria apotema
lado = float(input('Lado: '))
perimetro = lado*8
area = perimetro*((lado**2)/2)**(1/2)
print 'El área es', area
elif poligono in n:
lado = float(input('Lado: '))
apotema = float(input('Apotema: '))
area = ((lado*poligono)*apotema)/2
print 'El área es', area
else:
print 'Datos erróneos.'
poligono = input('> ') #Se que esto esta mal. Que hay que hacer?
Valora esta pregunta


0