Python - PERFECCIONANDO CODIGOS DE APRENDIZ

   
Vista:
Imágen de perfil de Luis

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por Luis (25 intervenciones) el 24/12/2013 20:14:37
Hola, me llamo Luis y estoy empezando a realizar mis primeros ejercicios de codigo en un curso. Intento que desde el principio, sean lo mas correctos, eficientes y practicos posibles e intentando ir introduciendo funciones de los modulos math, etc...
Ahi os dejo mis primeros ejercicios por si alguien se le ocurre poder perfeccionarlos mas y para que sean mas compactos posibles:
1ºejercicio: Diseñar un programa que, a partir del valor del lado de un cuadrado(3metros), muestre el valor de su perimetro(en metros) y el de su area(en metros cuadrados):
CODIGO INTRODUCIDO:
#Hallar el perimetro de un cuadrado en metros

lado=3+' metros'
perimetro=4*lado
area=2**lado+' cuadrados'
print (perimetro, area)


2ºejercicio: Diseñar un programa que a partir del valor de la base y de la altura de un triangulo(3 y 5 metros, respectivamente), muestre el valor de su area(en metros cuadrados). Recuerda que el area de un triangulo se puede calcular a partir de la base b y la altura h como A=1/2b.h:
CODIGO INTRODUCIDO:
#Hallar el area de un triangulo en metros cuadrados

base=3
altura=5
area=(base*altura)/2+' metros cuadrados'
print area


3ºejercicio: Diseña un programa que a partir del valor de los dos lados de un rectangulo(4 y 6m, respectivamente), muestre el valor de su perimetro(en metros) y el de su area(en metros cuadrados):
CODIGO INTRODUCIDO:
#Hallar el perimetro y el area de un rectangulo

base=6
altura=4

perimetro=2*(base+altura)+' metros'
area=base*altura+' metros cuadrados'
print(perimetro, area)
Gracias a quien me reporte alguna correccion y saludos a toda esta seccion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por xve (1229 intervenciones) el 25/12/2013 13:30:46
Hola Luis, lo tienes todo hecho, creo que el problema lo tienes únicamente a la hora de mostrar la información:

Ejercicio 1
1
2
3
4
5
6
lado=3
perimetro=4*lado
area=2**lado
print "Lado: %s metros" % lado
print "Perimetro: %s metros" % perimetro
print "Area: %s metros cuadrados" % area

Ejercicio 2
1
2
3
4
5
6
base=3
altura=5
area=(base*altura)/2
print "Base: %s metros" % base
print "Altura: %s metros" % altura
print "Area: %s metros cuadrados" % area

Ejercicio 3
1
2
3
4
5
6
7
8
base=6
altura=4
perimetro=2*(base+altura)
area=base*altura
print "Base: %s metros" % base
print "Altura: %s metros" % altura
print "Perimetro: %s metros" % perimetro
print "Area: %s metros cuadrados" % area

Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por Luis (25 intervenciones) el 26/12/2013 21:01:42
Gracias xve, pero me quedan dudas:
1. ¿que funcion hacen los simbolos "%s" que me has puesto?
2.¿no hay ningun modulo cuya funcion te devuelva el resultado de las areas al cuadrado? Es que mirando modulos, el modulo math tiene alguna funcion como la .exp pero tengo dudas.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por xve (1229 intervenciones) el 27/12/2013 09:21:05
Hola Luis, %s convierte un valor a string para poder mostrarlo... aqui tienes la tabla de posibles valores:


%d Signed integer decimal.
%i Signed integer decimal.
%o Unsigned octal.
%u Unsigned decimal.
%x Unsigned hexidecimal (lowercase).
%X Unsigned hexidecimal (uppercase).
%e Floating point exponential format (lowercase).
%E Floating point exponential format (uppercase).
5f Floating point decimal format.
5F Floating point decimal format.
5g Same as "e" if exponent is greater than -4 or less than precision, "f" otherwise.
5G Same as "E" if exponent is greater than -4 or less than precision, "F" otherwise.
5c Single character (accepts integer or single character string).
%r String (converts any python object using repr()).
%s String (converts any python object using str()).
%% No argument is converted, results in a "%" character in the result.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por Luis (25 intervenciones) el 27/12/2013 14:58:49
Gracias xve, es un placer comentar mis experiencias contigo y en esta web. De esta manera ayudamos a otras personas que se estan introduciendo en este fascinante mundo Python,
En cuanto introduzca el codigo te comento. Mirare tambien esta funcion que te indicaba ¿has trabajado con ella?:
from math import .exp. En principio, segun entiendo por la pagina de modulos: http://docs.python.org/2/library/, la funcion .exp del modulo math, traduce el resultado en exponente, en este caso de los ejercicios del resultado area en metros cuadrados...ya te comentare.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por xve (1229 intervenciones) el 27/12/2013 21:31:36
La verdad es que no la he utilizado nunca, pero según veo en la ayuda, seria algo así:
1
2
rom math import exp
print exp(x)

http://docs.python.org/2/library/math.html

Yo hace ya unos cuantos años que programo, y he programado en varios lenguajes... y Python, creo que de los mejores lenguajes que existen... entre otras cosas, porque hay librerías casi para todo. es impresionante!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por Luis (25 intervenciones) el 28/12/2013 10:27:18
Si, mi duda es si esta funcion sirve para que me de los metros cuadrados de las areas de los ejercicios expresado como en matematicas, es decir, algo asi como" 2ª" y no tener que poner literalmente "metros cuadrados" ya que no queda tan fino.
Se me olvidava: ¡¡¡QUE TENGAS UNA FELIZ ENTRADA DE AÑO A TI Y A TODA LA SECCION!!!
Estamos en contacto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PERFECCIONANDO CODIGOS DE APRENDIZ

Publicado por xve (1229 intervenciones) el 28/12/2013 19:29:39
Gracias, igualmente Luis, que tengáis un buen fin de año y año nuevo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar