[ Foro de Python ]

Hola a tod@s Me encuentro realizando un curso on line y mi nivel es muy básico, ya que estoy aprendiendo recién Python, pero no explican muy bien como resolver ciertas tareas con complejos problemas por resolver. Si pudieran ayudarme por favor, se los agr

09-Nov-2023 01:49
Invitado (anonimo)
2 Respuestas

Ejercicio 1

Desarrollar el programa  que permita calcular la medida de la masa en relación a la estatura de las personas es el IMC (Índice de Masa Corporal). Para su cálculo se utiliza la masa del individuo y su estatura. La ecuación que las relaciona es:

IMC = masa / (estatura ^ 2)

Donde la masa se expresa en kilogramos, y la estatura en metros.

Ejercicio 2

Para obtener ciertas estadísticas de un recorrido, se pide realizar un programa que dada una distancia, entregue la velocidad en kilómetros por hora y en metros por segundo. Para esto, existen dos variables tiempo y distancia que vienen en segundos y kilómetros respectivamente. Tu programa debe guardar en la variable resultado un string, por ejemplo, para el siguiente caso:

tiempo = 1

distancia = 0.01

La variable resultado debería tener lo siguiente:

"La velocidad es 36.0 km/h o 10.0 m/s"

Ejercicio 3

Considerando que las variables pueden almacenar cualquier tipo de dato, en este ejercicio se utilizaran variables de tipo booleanas. En computación un operador muy conocido es el operador lógico XOR (exclusive OR), el que dadas dos expresiones a y b booleanas, entrega verdadero únicamente si una de ellas es verdadera, y falso en cualquier otro caso.

Por ejemplo si se tiene

resultado = True XOR False

en resultado estará almacenado el valor True, en cambio si se tiene

resultado = True XOR True    o     resultado = False XOR False

en resultado estará almacenado el valor False.

La tabla de verdad para todos los valores posibles de a y b, es la siguiente:

a

b

a XOR b

True

True

False

True

False

True

False

True

True

False

False

False


14-Nov-2023 18:23
Invitado (Leopoldo M. Jimenez Raya.)

Aqui tienes una respuesta. al copiarlo se "ha roto" un poco el esquema en alguna linea pero no importa copialo entero a tú editor favorito y veras que chulo queda.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
NOMBRE_PROGRAMA:  IMC.py
   DESCRIPCION:  ver lineas 18 a 23
         AUTOR:  Leopoldo M. Jimenez Raya.
       SISTEMA:  GNU/LINUX - UBUNTU 16.04.4_LTS Xenial Xerus.
SOURCE-COMPUTER:  e-machines e644 (x86_64 GNU/Linux).
      LICENCIA:  Reconocimiento (by)
Se permite cualquier explotación de la obra, incluyendo una finalidad comercial,
así como la creación de obras derivadas, la distribución de las cuales también está
permitida sin ninguna restricción.

FECHA CREACION: 14 DE NOVIEMBRE DE 2023. VERSION 1.0



Ejercicio 1
Desarrollar el programa  que permita calcular la medida de la masa en relación
a la estatura de las personas es el IMC (Índice de Masa Corporal).
Para su cálculo se utiliza la masa del individuo y su estatura.
La ecuación que las relaciona es: IMC = masa / (estatura ^ 2)
Donde la masa se expresa en kilogramos, y la estatura en metros.

"""

########################
# DECLARAMOS VARIABLES #
########################
imc = 0.0
masa = 0.0
estatura = 0.0
control = True

########################
# IMPORTAMOS MODULOS   #
########################
import time
import os

########################
# DECLARAMOS FUNCIONES #
########################

def entrar_datos():
try:
masa=float(input("Introduce la masa del individuo en kilogramos: "))
if masa < 0:
print(" NO SE PERMITEN MASAS NEGATIVAS!!! ")
masa = masa * (-1)
print(" YA LO HE AREGLADO ")
time.sleep(2)

estatura=float(input("Introduce la estatura en metros: "))
if estatura < 0:
print(" NO SE PERMITEN ESTATURAS NEGATIVAS!!!")
estatura = estatura * (-1)
print(" YA LO HE AREGLADO ")
time.sleep(2)
except:
print("**********************************")
print("   ERROR EN LA ENTADA DE DATOS    ")
print("**********************************")
tecla=input("pulsa enter para continuar")
else:
imc = masa / (estatura * estatura)
imc = round (imc,1)
print("")
if imc < 18.5:
print("LA IMC ES DE: ", imc, " TIENES UN PESO INFERIOR AL NORMAL\n")
if imc > 18.5 and imc < 24.9:
print("LA IMC ES DE: ", imc, " TIENES UN PESO NORMAL\n")
if imc > 24.9:
print("LA IMC ES DE: ", imc, " TIENES OBESIDAD\n")
tecla=input("pulsa enter para continuar")
finally:
return()

def error():
print("?????????????????????????????????")
print("?  SE HA PRODUCIDO UN ERROR DE ENTRADA   ?")
print("?  EL DATO INTRODUCIDO NO ES VALIDO            ?")
print("?????????????????????????????????")
tecla=input("pulsa enter para continuar")
return()

########################
# MAIN                 #
########################

while control == True:
os.system('clear') # borramos la pantalla en gnu/linux
print(" **************************************")
print(" PROGRAMA PARA: Índice de masa corporal\n")
print(" imc < 18.5  Peso inferior al normal ")
print(" imc entre 18.5 – 24.9 NORMAL")
print(" imc más de 30.0 obesidad!!\n ")
print(" **************************************")
print(" 0 .- SALIR")
print(" 1.-  CALCULAR IMC\n")
try:
opcion =int(input("opcion: "))
except:
error()
else:
if opcion == 0:
control = False # salimos del lazo while
if opcion == 1:
entrar_datos()
if opcion > 1:
print("TE HAS PASADO CHAVAL!!!")
tecla=input("pulsa enter para continuar")

# fin de programa
print("FIN DEL PROGRAMA")
exit(0)


14-Nov-2023 21:18
Invitado (Leopoldo M. Jimenez Raya.)

Aqui tienes el ejercicio 2, haz lo mismo que con el 1º copialo en tu editor, y veras como queda:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
NOMBRE_PROGRAMA:  velocidad.py
   DESCRIPCION:  ver lineas 18 a 29
         AUTOR:  Leopoldo M. Jimenez Raya.
       SISTEMA:  GNU/LINUX - UBUNTU 16.04.4_LTS Xenial Xerus.
SOURCE-COMPUTER:  e-machines e644 (x86_64 GNU/Linux).
      LICENCIA:  Reconocimiento (by)
Se permite cualquier explotación de la obra, incluyendo una finalidad comercial,
así como la creación de obras derivadas, la distribución de las cuales también está
permitida sin ninguna restricción.

FECHA CREACION: 14 DE NOVIEMBRE DE 2023. VERSION 1.0
FECHA CREACION:
       CAMBIOS:  

Ejercicio 2

Para obtener ciertas estadísticas de un recorrido, se pide realizar un programa
que dada una distancia, entregue la velocidad en kilómetros por hora y en metros
por segundo. Para esto, existen dos variables tiempo y distancia que vienen en segundos
y kilómetros respectivamente. Tu programa debe guardar en la variable resultado un string,
por ejemplo, para el siguiente caso:

tiempo = 1
distancia = 0.01
La variable resultado debería tener lo siguiente:
"La velocidad es 36.0 km/h o 10.0 m/s

"""

########################
# DECLARAMOS VARIABLES #
########################
velocidad = 0.0
velocidad2 = 0.0
tiempo = 0.0
tiempo2 = 0.0
distancia = 0.0
distancia2 = 0.0
resultado = " "
tecla=" "

########################
# IMPORTAMOS MODULOS   #
########################
import time

########################
# MAIN                 #
########################
try:
print(" Calculo de la velocidad en km/h y en m/s")
distancia=float(input("Introduce la distancia en kilometros: "))
tiempo=float(input("Introduce el tiempo en segundos: "))
except:
print("**********************************")
print(" ERROR EN LA ENTADA DE DATOS      ")
print("**********************************")
tecla=input("pulsa enter para continuar")
else:
if distancia  < 0:
print(" NO SE PERMITEN DISTANCIAS NEGATIVAS!!! ")
distancia = distancia * (-1)
print(" YA LO HE AREGLADO ")
time.sleep(2)
if tiempo < 0:
print(" NO SE PERMITEN TIEMPOS NEGATIVOS!!!")
tiempo = tiempo * (-1)
print(" YA LO HE AREGLADO ")
time.sleep(2)
distancia2 = (distancia * 1000) # convertimos la kilometros a metros
print("distancia en metros = ", distancia2)
tiempo2 = (tiempo / 3600) # convetimos los segundos a horas
print("tiempo en horas = ", tiempo2)
velocidad = distancia / tiempo2 # kilometros / horas
velocidad = round(velocidad,2)
print("velocidad en km/h = ", velocidad)
velocidad2 = distancia2/ tiempo # metros / segundos
velocidad2 = round(velocidad2,2)
print("velocidad en m/s = ", velocidad2)
resultado = "La velocidad es " + str(velocidad) + "km/h " + " ó " + str(velocidad2) + "m/s"
print(resultado)
tecla=input("pulsa enter para terminar el programa")
finally:
exit(0)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)