Vamos a hacer un programa que calcule el sueldo que debe cobrar una persona conociendo las horas trabajadas y el pago por hora. Pero vamos a hacer que el usuario pase los datos como argumentos.
Primero debemos saber si el usuario escribe correctamente los argumentos. Si lo hace tendríamos la siguiente situación:
- argv[0] almacena el nombre del programa.
- argv[1] almacena las horas trabajadas.
- argv[2] almacena el pago por hora.
Por lo tanto, lo que nos debe preocupar es si existe argv[2]. Si no existe debemos imprimir un mensaje indicando la forma correcta de ejecutar el programa y hacer que termine. Para salir de un programa de Python tenemos que ejecutar la función exit que está en el módulo sys.
En caso de que el usuario haya escrito los argumentos correctos, como éstos son tratados como texto haremos las conversiones apropiadas (las horas a número entero y el coste a número decimal). Después sólo hay que calcular el sueldo e imprimilo.
A partir de ahora, cuando hagamos un programa deberemos decidir qué datos podemos recibir como argumentos y qué datos es más conveniente recibir en la ejecución del programa con la función input.
el código
from sys import argv,exit
if(not argv[2]):
print("Escriba, separados por un espacio, el nombre del programa, las horas trabajadas y el pago por hora.")
exit()
else:
horasTrabajadas=int(argv[1])
costeHora=float(argv[2])
sueldo=horasTrabajadas*costeHora
print("Esta persona cobrará {} unidades monetarias.".format(sueldo))