11. Diccionario con peso
Consigna
Realizar un programa que permita:
a) cargar un número N. Validar que sea positivo sino reingresar. Luego cargar un diccionario con los nombres de N pacientes y su peso. Validar peso entre 0 y 250 kg B
b) Mostrar un menú como el siguiente:
1.- Cantidad de personas que pesan mas que A
2.- Hay personas de menos de X kg?
3.- Promedio de pesos
F.- Finalizar
c) Si elige 1. ingresar un valor A y llamar a una función pasandole ese valor como argumento y retornar la cantidad de personas que superen en peso A pasado como argumento. El valor retornado mostrarlo en el programa.
d) Si elige 2. llamar a una función que pida que ingrese un valor X e informe si hay o no personas con menos de X kg. Si hubiere mostrar el nombre de esas personas en la función.
e) Si elige 3. llamar a una funcion que calcule y retorne el promedio de los pesos de las personas cargadas. El valor retornado mostrarlo en el programa.
f) El programa solo termina con F para finalizar. Si ingresa cualquier otro valor mostrar “Error”
Resolución
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 15 19:53:34 2021
@author: Andrea
"""
def ejer (peso):
cont=0
for j in pacientes:
if (pacientes[j]>=peso):
cont+=1
return (cont)
def fun2 (peso):
band = False
for j in pacientes:
if (pacientes[j]<=peso):
band=True
print ("Nombre conmenos de {} kg: {}". format(peso,j))
if (not band):
print("No hubo personas con menos del peso ingresado")
def prom():
suma=0
for j in pacientes:
suma+=pacientes[j]
print ("El promedio de pesos es ", suma/len(pacientes))
N = int (input ("Ingrese el valor N"))
while N<0:
N = int (input ("Erro. Re Ingrese el valor N"))
pacientes= {}
for i in range(N):
clave=input('Ingrese el nombre del paciente: ')
peso=float(input('Ingrese el peso del paciente: '))
while peso < 0 or peso >250:
peso=float(input('Error. ReIngrese el peso del paciente: '))
pacientes[clave]=peso
print (pacientes)
opc=(input("Menu...1.- cantidad 2.- hay 3.- Promedio F.- Fin"))
while opc!='F'and opc!='f':
if (opc=='1'):
a = float(input('Ingrese el peso A a buscar: '))
c = ejer(a)
print("la cantidad de valores que supera los {} kg es {}".format(a,c))
elif (opc=='2'):
X=float(input('Ingrese el peso X a buscar: '))
fun2(X)
elif (opc=='3'):
prom()
elif (opc=='F') or (opc=='f'):
print ("chauuu")
else:
print ("error. opcion incorrecta")
opc=(input("Menu...1.- cantidad 2.- hay 3.- Promedio F.- Fin"))