-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinfixcalc_v_inicial.py.py
More file actions
62 lines (50 loc) · 1.23 KB
/
infixcalc_v_inicial.py.py
File metadata and controls
62 lines (50 loc) · 1.23 KB
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
#!/usr/bin/env python3
""" Calculadora infix
Funcionamento:
[operação] [n1] [n2]
Operações:
sum -> +
sub -> -
mul -> *
div -> /
Uso:
$ infixcalc.py sum 5 2
7
$ infixcalc.py mul 10 5
50
$ infixcalc.py
operação: sum
n1: 5
n2: 4
9
"""
__version__ = "0.1.0"
import sys
argumentos = {"operação": None, "n1": None, "n2": None}
operacoes = ("sum", "sub", "mul", "div")
if len(sys.argv) > 1 and sys.argv[1] in operacoes:
argumentos["operação"] = sys.argv[1].strip()
# TODO: Tratar ausência dos demais argumentos *list index out of range*
argumentos["n1"] = sys.argv[2].strip()
# TODO: Tratar divisão por zero
argumentos["n2"] = sys.argv[3].strip()
else:
argumentos["operação"] = input("Operação:").strip()
if argumentos["operação"] not in operacoes:
print('Opção inválida')
sys.exit()
else:
argumentos["n1"] = input("n1:").strip()
argumentos["n2"] = input("n2:").strip()
operacao = argumentos["operação"]
n1 = float(argumentos["n1"])
n2 = float(argumentos["n2"])
if operacao == "sum":
resultado = n1 + n2
elif operacao == "sub":
resultado = n1 - n2
elif operacao == "mul":
resultado = n1 * n2
elif operacao == "div":
resultado = n1 / n2
print(resultado)