Ejercicio: 2Eva2009TII_T3 Controlar saldos prepago
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIT2009_T3 Controlar saldos prepago
# Propuesta: edelros@espol.edu.ec
# Registrar números de celular con listas
celular = []
saldo = []
mensajes = []
opcion = 0
while not(opcion==4):
print('1. Ingresar equipo')
print('2. Recargar saldo')
print('3. transferir saldo')
print('4. Salir')
opcion = int(input('cual opcion: '))
if (opcion==1):
print('INGRESAR equipo')
numero = input('numero celular:')
celular.append(numero)
saldo.append(0)
mensajes.append(0)
m = len(saldo)-1
texto = str(celular[m])+' '+str(saldo[m])
texto = texto +' '+str(mensajes[m])
print(texto)
elif (opcion==2):
print('RECARGAR')
numero = input('numero celular: ')
cantidad = input(' cantidad: ')
# Busca el numero de celular
m = len(saldo)
encontre = -1
i = 0
while (i<m and encontre==-1):
if (celular[i]==numero):
encontre = i
i = i + 1
# si lo encuentra aumenta el saldo
if (encontre>=0):
saldo[encontre] = int(saldo[encontre]) + int(cantidad)
print(encontre)
texto = str(celular[encontre])+' '+str(saldo[encontre])
texto = texto + ' ' + str(mensajes[encontre])
print(texto)
else:
print('numero no registrado')
elif (opcion==3):
print('TRANSFERIR')
donante = input('numero donante : ')
receptor = input('numero receptor: ')
cantidad = input(' cantidad: ')
# Busca el numero de celular donante
m = len(saldo)
encontreA = -1
i = 0
while (i<m and encontreA==-1):
if (celular[i]==donante):
encontreA = i
i = i + 1
# Busca el numero de celular receptor
m = len(saldo)
encontreB = -1
i = 0
while (i<m and encontreB==-1):
if (celular[i]==receptor):
encontreB = i
i = i + 1
#revisa condiciones para transferir
condicion = encontreA>=0 and encontreB>=0
condicion = condicion and int(saldo[encontreA])>=int(cantidad)
if condicion:
saldo[encontreA] = int(saldo[encontreA])-int(cantidad)
saldo[encontreB] = int(saldo[encontreB])+int(cantidad)
print('saldo transferido: '+str(cantidad))
else:
if (encontreA==-1):
print('no existe registro de donante:')
if (encontreB==-1):
print('no existe registro de receptor:')
elif (opcion==4):
print('Gracias por usar el software')
else:
print('opción no disponible..!')
resultado del algoritmo
1. Ingresar equipo
2. Recargar saldo
3. transferir saldo
4. Salir
cual opcion: 1
INGRESAR equipo
numero celular:987
987 0 0
1. Ingresar equipo
2. Recargar saldo
3. transferir saldo
4. Salir
cual opcion: 1
INGRESAR equipo
numero celular:876
876 0 0
1. Ingresar equipo
2. Recargar saldo
3. transferir saldo
4. Salir
cual opcion: 2
RECARGAR
numero celular: 987
cantidad: 5
0
987 5 0
1. Ingresar equipo
2. Recargar saldo
3. transferir saldo
4. Salir
cual opcion: 2
RECARGAR
numero celular: 876
cantidad: 1
1
876 1 0
1. Ingresar equipo
2. Recargar saldo
3. transferir saldo
4. Salir
cual opcion: 3
TRANSFERIR
numero donante : 987
numero receptor: 876
cantidad: 3
saldo transferido: 3
1. Ingresar equipo
2. Recargar saldo
3. transferir saldo
4. Salir
cual opcion: 4
Gracias por usar el software
>>>