-
Notifications
You must be signed in to change notification settings - Fork 0
/
calculadora.py
63 lines (59 loc) · 2.28 KB
/
calculadora.py
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
import os
import math
print('+ = Adição \n'
'- = Subtração \n'
'* = Multipicação \n'
'/ = Divisão \n'
'** = Potenciação \n'
'^ = Radiação \n'
'log = Logaritmo \n')
primeiro_numero = float(input('Primeiro número: '))
operacao = str(input('Operação: '))
segundo_numero = float(input('Segundo número: '))
os.system('cls') or None
if operacao == '+':
try:
resultado = primeiro_numero + segundo_numero
print(f'{primeiro_numero} + {segundo_numero} = {resultado}')
except OverflowError:
print("Error: Números muito grandes")
elif operacao == '-':
try:
resultado = primeiro_numero - segundo_numero
print(f'{primeiro_numero} - {segundo_numero} = {resultado}')
except OverflowError:
print("Error: Números muito grandes")
elif operacao == '*':
try:
resultado = primeiro_numero * segundo_numero
print(f'{primeiro_numero} * {segundo_numero} = {resultado}')
except OverflowError:
print("Error: Números muito grandes")
elif operacao == '/':
try:
resultado = primeiro_numero / segundo_numero
print(f'{primeiro_numero} / {segundo_numero} = {resultado}')
except ZeroDivisionError:
print("Error: Zero não divide")
except OverflowError:
print("Error: Números muito grandes")
elif operacao == '**':
try:
resultado = math.pow(primeiro_numero, segundo_numero)
print(f'{primeiro_numero} ** {segundo_numero} = {resultado}')
except OverflowError:
print("Error: Números muito grandes")
elif operacao == '^':
try:
resultado = math.pow(primeiro_numero, 1/segundo_numero)
print(f'{primeiro_numero} ^ {segundo_numero} = {resultado}')
except OverflowError:
print("Error: Números muito grandes")
elif operacao == 'log' or operacao == 'loG' or operacao == 'lOg' or operacao == 'Log' or operacao == 'LOg' or operacao == 'lOG' or operacao == 'LoG' or operacao == 'LOG':
try:
resultado = math.log(primeiro_numero, segundo_numero)
print(f'log de {primeiro_numero} com base {segundo_numero} = {resultado}')
except OverflowError:
print("Error: Números muito grandes")
else:
print('Operação inválida')