
Menu con Argumentos / Ayuda
Publicado por Jimmy (1 intervención) el 21/01/2022 03:32:09
Hola.
Soy nuevo en Pyhon.
Me dejaron un ejercicio:
Crear un programa que pida argumentos y dependiendo de lo que se ingrese vamos a:
-s o --suma = Va sumar n cantidad de números.
-r o --resta = Va restar n cantidad de números.
-m o --mul = Va multiplicar n cantidad de números.
-d o --div = Va dividir n cantidad de números.
python programa.py -s 1 2 3
Resultado =6
parte2 del ejercicio:hacer un detalle de optimización de código con un decorador(beforeAccion, afterAcccion) y mandar a llamar como función la operación(suma, resta, multiplicación, división).
Pero tiene que ser sin argparse o getopt para gestionar los argumentos, ya que todavia no he visto esa parte, y el profesor va a hechar de ver que hecho la copiacion y pegason
alguna idea u ejericio similar
Soy nuevo en Pyhon.
Me dejaron un ejercicio:
Crear un programa que pida argumentos y dependiendo de lo que se ingrese vamos a:
-s o --suma = Va sumar n cantidad de números.
-r o --resta = Va restar n cantidad de números.
-m o --mul = Va multiplicar n cantidad de números.
-d o --div = Va dividir n cantidad de números.
python programa.py -s 1 2 3
Resultado =6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import sys
#Validar si es el principal
if __name__ == "__main__":
#variable
tamao = len(sys.argv)
#ciclo que va estar sacando cada uno de los argumentos(elementos) que hayan ingresado
for argumento in sys.argv:
#validar cada uno de los argumentos
if argumento == "-h" or argumento == "--help" or argumento== "":
#Mostar el Menu
print("Bienvenido al Programa x\
\n-h or --help: Ayuda\
\n-s or --suma: Sumar n Cantidad de Numeros\
\n-r or --resta: Restar n Cantidad de Numeros\
\n-m or --mult: Multiplicar n Cantidad de Numeros\
\n-d or --div: Dividir n Cantidad de Numeros")
#Validar las opciones
if argumento == "-s" or argumento == "--suma":
i = 2 #Inicializar posicion donde se encuentra el argumento para comenzar operacion
#Validar Tamaño del argumento
if tamao > 3:
resultado = 0
#brincar de argumento en argumento
while i < tamao:
#operacion suma
resultado = resultado + int( sys.argv[i] )
i+=1
print(f"Resultado = {resultado}")
else:
print("Faltan argumentos!")
if argumento == "-r" or argumento == "--resta":
i = 2
if tamao > 3:
resultado = 0
while i < tamao:
#operacion restar
if i == 2:
resultado = int( sys.argv[i] )
else:
resultado = resultado - int( sys.argv[i] )
i+=1
print(f"Resultado = {resultado}")
else:
print("Faltan argumentos!")
if argumento == "-m" or argumento == "--mult":
i = 2
if tamao > 3:
resultado = 1
while i < tamao:
#operacion multiplicar
resultado = resultado * int( sys.argv[i] )
i+=1
print(f"Resultado = {resultado}")
else:
print("Faltan argumentos!")
if argumento == "-d" or argumento == "--div":
i = 2
if tamao > 3:
resultado = 0
while i < tamao:
if i > 2 and int( sys.argv[i]) == 0:
print("Error: División x Cero")
resultado = None
break
#operacion division
elif i == 2:
resultado = int( sys.argv[i] )
else:
resultado = resultado / int( sys.argv[i] )
i+=1
print(f"Resultado = {resultado}")
else:
print("Faltan argumentos!")
parte2 del ejercicio:hacer un detalle de optimización de código con un decorador(beforeAccion, afterAcccion) y mandar a llamar como función la operación(suma, resta, multiplicación, división).
Pero tiene que ser sin argparse o getopt para gestionar los argumentos, ya que todavia no he visto esa parte, y el profesor va a hechar de ver que hecho la copiacion y pegason
alguna idea u ejericio similar
Valora esta pregunta


0