-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathex64.py
More file actions
90 lines (78 loc) · 2.55 KB
/
Copy pathex64.py
File metadata and controls
90 lines (78 loc) · 2.55 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Crie um programa representando uma calculadora que realiza as operações
# de multiplicação, divisão, potência e fatorial com até dois números. Receba do
# usuário a operação que deseja fazer e os números escolhidos por ele.
# Implemente uma função para cada operação matemática utilizando os Doctests.
# Por fim, faça o tratamento de erros com try/except/else/finally.
# Observação: Utilize o método TDD
import math
from biblioteca import libs
from time import sleep
def multiplicacao(n1, n2):
"""
Função que multiplica dois números fornecidos pelo usuário
>>> multiplicacao(2,2)
4
"""
return n1 * n2
def divisao(n1, n2):
"""
Função que divide o valor por um número fornecido pelo usuário
>>> divisao(2,2)
1.0
"""
if n2 < 0 or n2 == 0:
print(f'Não é possível dividir por {n2}')
return n1 / n2
def potencia(n1, n2):
"""
Função que retorna o resultado do "valor" (base)
com um número fornecido pelo usuário (expoente)
>>> potencia(2,2)
4
"""
return n1**n2
def fatorial(numero):
"""
Função que retorna o fatorial do número fornecido pelo usuário.
>>> math.factorial(5)
120
"""
if numero < 0:
raise ValueError('Não é possível calcular números abaixo de zero')
return math.factorial(numero)
while True:
libs.montaMenu('CALCULADORA!\n'
'[1] - MULTIPLICAÇÃO\n'
'[2] - DIVISÃO\n'
'[3] - POTÊNCIA\n'
'[4] - FATORIAL\n'
'[5] - SAIR')
op = libs.lerInt('Sua opção: ')
if op == 1:
print('Escolha os números que deseja multiplicar...')
sleep(1)
n1 = libs.lerInt('1º número: ')
n2 = libs.lerInt('2º número: ')
print(multiplicacao(n1, n2))
elif op == 2:
print('Escolha os números que deseja divir...')
sleep(1)
n1 = libs.lerInt('1ª número: ')
n2 = libs.lerInt('2º número: ')
print(divisao(n1, n2))
elif op == 3:
print('Escolha os números para a potência: ')
sleep(1)
n1 = libs.lerInt('1º número: ')
n2 = libs.lerInt('2º número: ')
print(potencia(n1, n2))
elif op == 4:
print('Escolha o número para saber o fatorial..')
sleep(1)
numero = libs.lerInt('Numero: ')
print(fatorial(numero))
elif op == 5:
print('Saindo do programa...')
sleep(1.5)
print('Programa finalizado com sucesso!')
break