s2Eva_IT2006_T1 Donaciones defensa civil

Ejercicio: 2Eva_IT2006_T1 Donaciones defensa civil

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IT2006_T1 Donaciones defensa civil
# Propuesta: edelros@espol.edu.ec
# Nombre Donante, teléfono, Tipo Donación, Cantidad

donacion = []
opcion = 0
while not(opcion==5):
    
    print('1. Registro de donacion')
    print('2. Donantes por tipo')
    print('3. Unidades por tipo')
    print('4. Guardar archivo')
    print('5. Salir')
    
    opcion = int(input('cual opcion: '))

    if (opcion==1):
        print('REGISTRA DONACION')
        nombre   = input('nombre: ')
        telefono = input('telefono: ')
        print(' tipo: 1.alimentos 2.medicina 3.dinero')
        tipo     = int(input('tipo : '))
        cantidad = float(input('cantidad: '))
        donacion.append([nombre,telefono,
                         tipo,cantidad])

    elif (opcion==2):
        print('DONANTES POR TIPO')
        m = len(donacion)
        qalimento = 0
        qmedicina = 0
        qdinero   = 0
        for i in range(0,m,1):
            if (donacion[i][2]==1):
                qalimento = qalimento + 1
            if (donacion[i][2]==2):
                qmedicina = qmedicina + 1
            if (donacion[i][2]==3):
                qdinero = qdinero + 1
        print('donantes alimento: ' + str(qalimento))
        print('donantes medicina: ' + str(qmedicina))
        print('donantes dinero:   ' + str(qdinero))
            
    elif (opcion==3):
        print('UNIDADES POR TIPO')
        m = len(donacion)
        salimento = 0.0
        smedicina = 0.0
        sdinero   = 0.0
        for i in range(0,m,1):
            if (donacion[i][2]==1):
                salimento = salimento+donacion[i][3]
            if (donacion[i][2]==2):
                smedicina = smedicina+donacion[i][3]
            if (donacion[i][2]==3):
                sdinero = sdinero+donacion[i][3]
        print('cantidad de alimento: '+str(salimento))
        print('cantidad medicina: '+str(smedicina))
        print('cantidad dinero:   '+str(sdinero))
        
    elif (opcion==4):
        print('Guardar')
        nombrearchivo = input('nombre archivo: ')
        archivo = open(nombrearchivo+'.txt','w')
        m = len(donacion)
        for i in range(0,m,1):
            registro = str(donacion[i][0])+','+str(donacion[i][1])
            registro = registro + ',' + str(donacion[i][2])
            registro = registro + ',' + str(donacion[i][3])+'\n'
            archivo.write(registro)
        archivo.close()
        
    elif (opcion==5):
        print('Gracias por usar el software')
    else:
        print('** opcion no existe **')

resultado del algoritmo

1. Registro de donacion
2. Donantes por tipo
3. Unidades por tipo
4. Guardar archivo
5. Salir
cual opcion: 1
REGISTRA DONACION
nombre: Juan
telefono: 123
 tipo: 1.alimentos 2.medicina 3.dinero
tipo : 1
cantidad: 30
1. Registro de donacion
2. Donantes por tipo
3. Unidades por tipo
4. Guardar archivo
5. Salir
cual opcion: 2
DONANTES POR TIPO
donantes alimento: 1
donantes medicina: 0
donantes dinero:   0
1. Registro de donacion
2. Donantes por tipo
3. Unidades por tipo
4. Guardar archivo
5. Salir
cual opcion: 3
UNIDADES POR TIPO
cantidad de alimento: 30.0
cantidad medicina: 0.0
cantidad dinero:   0.0
1. Registro de donacion
2. Donantes por tipo
3. Unidades por tipo
4. Guardar archivo
5. Salir
cual opcion: 4
Guardar
nombre archivo: donante
1. Registro de donacion
2. Donantes por tipo
3. Unidades por tipo
4. Guardar archivo
5. Salir
cual opcion: 5
Gracias por usar el software
>>>