Calculadora para números complexos
Publicado por Cícero Matheus (última atualização em 10/10/2013)
[ Hits: 15.359 ]
Homepage: Não Tenho (Ainda u.u)
Calculadora capaz de realizar cálculos (adição, subtração, divisão e multiplicação) com números complexos em suas formas polar e cartesiana (retangular).
Qualquer bug, erro, sugestão basta só comentar! xD
Obs.: os números podem estar em formas diferentes! Por exemplo (Polar + Cartesiana). :D
#-*- coding: utf-8 -*-
#Por Kruxy Nuylla
#Calculadora para números complexos =D
#Bibliotecas usadas
import math
import string
#------------------
def pegar_numero(): #Função que irá ler uma string e transformá-la em número complexo legivel para o Python
num = str(raw_input("Digite o número (forma cartesiana: a+jb; forma polar: aPΘ)\nOBS: Mesmo que um dos valores seja 0 (zero), por favor, coloque-o\n"));
if(num.find("P") > -1): #Procura o char 'P', caso encontre, o número será convertido de forma polar para cartesiana
neonum = string.split(num,"P");
neonum[0] = float(neonum[0]);
neonum[1] = float(neonum[1]);
#Por algum motivo Python só trabalha corretamente com seno e cosseno quando o ângulo está em radianos
a = neonum[0] * round(math.cos(math.radians(neonum[1])),3);
b = neonum[0] * round(math.sin(math.radians(neonum[1])),3);
else:
if((num.find("+") < -1 and num.find("-") < -1) or num.find("j") == -1):
print "Digite o número em uma das formas descritas!";
exit();
indice = num.find("j"); #Obtém o índice do char 'j'
a = float(num[:indice-1]);
b = float(num[indice+1:]);
if(num[indice-1] == "-"):
b *= -1;
return complex(a, b);
def principal():
opc = 1;
while(True): #Loop infinito
opc = int(raw_input("1 - Adição\n2 - Subtração\n3 - Multiplicação\n4 - Divisão\n0 - Sair\n"));
if (opc < 1 or opc > 4): break;
print "\n\nPrimeiro número:\n\n";
num_a = pegar_numero();
print "\n\nSegundo número:\n\n";
num_b = pegar_numero();
if(opc == 1):
print num_a + num_b;
elif(opc == 2):
print num_a - num_b;
elif(opc == 3):
print num_a * num_b;
elif(opc == 4):
print num_a / num_b;
print "\n\n"
principal();
Gerador de PIS/PASEP em Python
ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python
Programa para derivação de funções matemáticas polinomiais
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
existe algum hub de jogos online similiar ou igual dos browser (6)
Como botar o efeito de deslocar janelas (win + setas - windows) no lin... (0)
Thinkpads são bons mesmo ?! (3)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (2)









