MI PRIMER TRABAJO PRACTICO EN PYTHON
CAJERO AUTOMÁTICO
AUTOR: Adiel Palominos F.
COMPETENCIA: Desarrollo de Software.
ASIGNATURA: Programación I.
Palabras claves: Programación, python, condicionales, ciclos.
Descripción de la actividad.-
Descripción de la actividad.-
Con esta actividad aprendí a entender la lógica de un programa de computación.
Este es el primer trabajo practico que me correspondió crear como estudiante de de informática de primer año.
Fue creado en un lenguaje llamado python(lenguaje interpretado).
El problema: elabore una solución computacional en python para simular el funcionamiento de un cajero automático. La situación a simular es un cliente que usa el cajero automático. El usuario tiene tres cuentas bancarias del mismo banco: como cuanta rut, cuanta corriente, cuenta vista.
Solución.-
El código fuente correspondiente es el siguiente:
print "¡Bienvenido a MagicBanc!\n"
a=int(raw_input("Ingrese su clave secreta: "))
key=1234
b=1
c=2
while a!=key:
b=b+1
print "\nClave secreta incorrecta,",c,"intentos restantes.\n"
c=c-1
a=int(raw_input("Vuelva a ingresar su clave secreta: "))
if b==3 and a!=key:
print "Esta tarjeta ha sido bloqueada, dirigirse a sucursal MagicBanc."
break
srut=180000
svis=-15000
scor=25000
flag=1
while a==key and flag==1:
print "\n\n\nMenu de cuentas\n\n"
if srut<0:
print "\nAdvertencia, usted debe un saldo de",srut*-1,"pesos en su Cuenta rut.\n\n"
if svis<0:
print "\nAdvertencia, usted debe un saldo de",svis*-1,"pesos en su Cuenta Vista.\n\n"
if scor<0:
print "\nAdvertencia, usted debe un saldo de",scor*-1,"pesos en su Cuenta Corriente.\n\n"
print "Seleccione el tipo de cuenta, ingresando el numero que corresponda a cada una: "
print "Cuenta Rut: 1"
print "Cuenta Vista: 2"
print "Cuenta Corriente: 3"
print "Salir: 4\n"
e=int(raw_input(""))
if e==4:
print "Hasta luego :)"
flag=0
if e==1:
print "Esta es su Cuenta rut, ingrese el numero de la operacion que desea realizar: \n"
print "Giro: 1\n"
print "Consulta de Saldo: 2\n"
print "Deposito en efectivo: 3\n"
print "Transferencia de saldo: 4\n"
print "Volver al menu de cuentas: 5\n"
f=int(raw_input(""))
if f==1:
g=int(raw_input("Ingrese el monto que desea retirar: "))
srut=srut-g
print "Giro realizado con éxito, su nuevo saldo es de",srut,"pesos.\n"
print "No olvide retirar su dinero.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==2:
print "Su saldo actual es de",srut,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==3:
h=int(raw_input("Ingrese el Dinero: "))
srut=srut+h
print "Depósito realizado con éxito, su nuevo saldo es de",srut,"pesos."
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==4:
d=int(raw_input("Ingrese el número de la cuenta de destino: "))
j=int(raw_input("Ingrese el monto que desea transferirle a esa cuenta: "))
srut=srut-j
print "\nTransferencia realizada con éxito, su nuevo saldo es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==5:
print "Volviendo al menú de cuentas."
flag=1
if e==2:
print "Esta es su Cuenta Vista, ingrese el número de la operación que desea realizar: \n"
print "Giro: 1\n"
print "Consulta de Saldo: 2\n"
print "Depósito en efectivo: 3\n"
print "Transferencia de saldo: 4\n"
print "Volver al menú de cuentas: 5\n"
f=int(raw_input(""))
if f==1:
g=int(raw_input("Ingrese el monto que desea retirar: "))
svis=svis-g
print "Giro realizado con éxito, su nuevo saldo es de",svis,"pesos.\n"
print "No olvide retirar su dinero.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==2:
print "Su saldo actual es de",svis,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==3:
h=int(raw_input("Ingrese el Dinero: "))
svis=svis+h
print "Depósito realizado con éxito, su nuevo saldo es de",svis,"pesos."
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==4:
d=int(raw_input("Ingrese el número de la cuenta de destino: "))
j=int(raw_input("Ingrese el monto que desea transferirle a esa cuenta: "))
svis=svis-j
print "\nTransferencia realizada con éxito, su nuevo saldo es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==5:
print "Volviendo al menú de cuentas."
flag=1
if e==3:
print "Esta es su Cuenta Corriente, ingrese el número de la operación que desea realizar:\n "
print "Giro: 1\n"
print "Consulta de Saldo: 2\n"
print "Depósito en efectivo: 3\n"
print "Transferencia de saldo: 4\n"
print "Volver al menú de cuentas: 5\n"
f=int(raw_input(""))
if f==1:
g=int(raw_input("Ingrese el monto que desea retirar: "))
scor=scor-g
print "Giro realizado con éxito, su nuevo saldo es de",scor,"pesos.\n"
print "No olvide retirar su dinero.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==2:
print "Su saldo actual es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==3:
h=int(raw_input("Ingrese el Dinero: "))
scor=scor+h
print "Depósito realizado con éxito, su nuevo saldo es de",scor,"pesos."
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==4:
d=int(raw_input("Ingrese el número de la cuenta de destino: "))
j=int(raw_input("Ingrese el monto que desea transferirle a esa cuenta: "))
scor=scor-j
print "\nTransferencia realizada con éxito, su nuevo saldo es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==5:
print "Volviendo al menú de cuentas."
flag=1
Al principio hay un ciclo while con if dentro de el, estos están específicamente encargados del ingreso correcto de la contraseña de usuario.
Mas abajo hay un ciclo principal, este ciclo es un while, este posee if dentro de el al igual que el anterior, donde if permite redireccionar al usuario dependiendo de las opciones que este elija, este ciclo permite ejecutar el código mientras que flag no sea cero(mientras el usuario no elija la opción salir). Se usa print para mostrar las opciones al usuario.
Imágenes que muestran el resultado de la actividad.-
print "¡Bienvenido a MagicBanc!\n"
a=int(raw_input("Ingrese su clave secreta: "))
key=1234
b=1
c=2
while a!=key:
b=b+1
print "\nClave secreta incorrecta,",c,"intentos restantes.\n"
c=c-1
a=int(raw_input("Vuelva a ingresar su clave secreta: "))
if b==3 and a!=key:
print "Esta tarjeta ha sido bloqueada, dirigirse a sucursal MagicBanc."
break
srut=180000
svis=-15000
scor=25000
flag=1
while a==key and flag==1:
print "\n\n\nMenu de cuentas\n\n"
if srut<0:
print "\nAdvertencia, usted debe un saldo de",srut*-1,"pesos en su Cuenta rut.\n\n"
if svis<0:
print "\nAdvertencia, usted debe un saldo de",svis*-1,"pesos en su Cuenta Vista.\n\n"
if scor<0:
print "\nAdvertencia, usted debe un saldo de",scor*-1,"pesos en su Cuenta Corriente.\n\n"
print "Seleccione el tipo de cuenta, ingresando el numero que corresponda a cada una: "
print "Cuenta Rut: 1"
print "Cuenta Vista: 2"
print "Cuenta Corriente: 3"
print "Salir: 4\n"
e=int(raw_input(""))
if e==4:
print "Hasta luego :)"
flag=0
if e==1:
print "Esta es su Cuenta rut, ingrese el numero de la operacion que desea realizar: \n"
print "Giro: 1\n"
print "Consulta de Saldo: 2\n"
print "Deposito en efectivo: 3\n"
print "Transferencia de saldo: 4\n"
print "Volver al menu de cuentas: 5\n"
f=int(raw_input(""))
if f==1:
g=int(raw_input("Ingrese el monto que desea retirar: "))
srut=srut-g
print "Giro realizado con éxito, su nuevo saldo es de",srut,"pesos.\n"
print "No olvide retirar su dinero.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==2:
print "Su saldo actual es de",srut,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==3:
h=int(raw_input("Ingrese el Dinero: "))
srut=srut+h
print "Depósito realizado con éxito, su nuevo saldo es de",srut,"pesos."
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==4:
d=int(raw_input("Ingrese el número de la cuenta de destino: "))
j=int(raw_input("Ingrese el monto que desea transferirle a esa cuenta: "))
srut=srut-j
print "\nTransferencia realizada con éxito, su nuevo saldo es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==5:
print "Volviendo al menú de cuentas."
flag=1
if e==2:
print "Esta es su Cuenta Vista, ingrese el número de la operación que desea realizar: \n"
print "Giro: 1\n"
print "Consulta de Saldo: 2\n"
print "Depósito en efectivo: 3\n"
print "Transferencia de saldo: 4\n"
print "Volver al menú de cuentas: 5\n"
f=int(raw_input(""))
if f==1:
g=int(raw_input("Ingrese el monto que desea retirar: "))
svis=svis-g
print "Giro realizado con éxito, su nuevo saldo es de",svis,"pesos.\n"
print "No olvide retirar su dinero.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==2:
print "Su saldo actual es de",svis,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==3:
h=int(raw_input("Ingrese el Dinero: "))
svis=svis+h
print "Depósito realizado con éxito, su nuevo saldo es de",svis,"pesos."
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==4:
d=int(raw_input("Ingrese el número de la cuenta de destino: "))
j=int(raw_input("Ingrese el monto que desea transferirle a esa cuenta: "))
svis=svis-j
print "\nTransferencia realizada con éxito, su nuevo saldo es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==5:
print "Volviendo al menú de cuentas."
flag=1
if e==3:
print "Esta es su Cuenta Corriente, ingrese el número de la operación que desea realizar:\n "
print "Giro: 1\n"
print "Consulta de Saldo: 2\n"
print "Depósito en efectivo: 3\n"
print "Transferencia de saldo: 4\n"
print "Volver al menú de cuentas: 5\n"
f=int(raw_input(""))
if f==1:
g=int(raw_input("Ingrese el monto que desea retirar: "))
scor=scor-g
print "Giro realizado con éxito, su nuevo saldo es de",scor,"pesos.\n"
print "No olvide retirar su dinero.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==2:
print "Su saldo actual es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==3:
h=int(raw_input("Ingrese el Dinero: "))
scor=scor+h
print "Depósito realizado con éxito, su nuevo saldo es de",scor,"pesos."
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==4:
d=int(raw_input("Ingrese el número de la cuenta de destino: "))
j=int(raw_input("Ingrese el monto que desea transferirle a esa cuenta: "))
scor=scor-j
print "\nTransferencia realizada con éxito, su nuevo saldo es de",scor,"pesos.\n\n"
print "¿Desea otra operación?\n"
print "Sí: 1"
print "No: 2"
z=int(raw_input(""))
if z==2:
print "Hasta luego :)"
flag=0
elif z==1:
flag=1
else:
print "Opción no válida, adiós."
flag=0
if f==5:
print "Volviendo al menú de cuentas."
flag=1
Al principio hay un ciclo while con if dentro de el, estos están específicamente encargados del ingreso correcto de la contraseña de usuario.
Mas abajo hay un ciclo principal, este ciclo es un while, este posee if dentro de el al igual que el anterior, donde if permite redireccionar al usuario dependiendo de las opciones que este elija, este ciclo permite ejecutar el código mientras que flag no sea cero(mientras el usuario no elija la opción salir). Se usa print para mostrar las opciones al usuario.
Imágenes que muestran el resultado de la actividad.-
En que me ayudo esta actividad.-
Esta forma practica de llevar a cabo lo aprendido me ayudo a desarrollar un nivel básico en lo que respecta a las interfaces entre la maquina y el usuario, así también me facilito enormemente el desarrollo de una estructura lógica.
Te invito a que compartas tus comentarios o consultas si quieres mas información, o que profundice algún tema.
Esta forma practica de llevar a cabo lo aprendido me ayudo a desarrollar un nivel básico en lo que respecta a las interfaces entre la maquina y el usuario, así también me facilito enormemente el desarrollo de una estructura lógica.
Te invito a que compartas tus comentarios o consultas si quieres mas información, o que profundice algún tema.