Expressões numéricas
Publicado por Lucas 28/10/2006
[ Hits: 24.882 ]
Homepage: http://lucasnogueira.wordpress.com
Checa expressões numéricas, verifica as chaves, colchetes, parênteses da expressão e operadores matemáticos.
Se em algum lugar da expressão o programa encontrar um erro do tipo, {1-[4*(2-3)-7]/10], observe que abre-se a chave, mas não tem fecha-chaves, no lugar tem um fecha-colchete, o programa acusa 'Expressão Incorreta!'.
# -*- coding: cp1252 -*- import string has_chv=False has_key=False has_par=False has_fchv=False has_fkey=False has_fpar=False error_operators=['!','#','$','%','&','\ ' ,':',';','<','>','?','@'] expr_true=True expr=raw_input('Digite uma expressão numérica para ser checada:\n Ex: 1-{2+[9*1(1-3)-5]/4}. OBS: Testes aritméticos não serão feitos\n') for k in range(len(expr)): # detecta controladores ( '{','[','(' e seus inversos e detecta equações) if expr[k] == '{': has_chv=True elif expr[k] == '[': has_key=True elif expr[k] == '(': has_par=True elif expr[k] == '}': has_fchv=True elif expr[k] == ']': has_fkey = True elif expr[k] == ')': has_fpar = True elif expr[k] == '=': print '= -> equações não são permitidas' expr_true=False for x in string.ascii_letters: #detecta vars ou icogn if expr[k] == x: print expr[k]+' -> icógnitas ou variáveis não são permitidas' expr_true=False for w in error_operators: #detecta operadores invalidos if expr[k] == w: print expr[k]+' -> operador inválido' expr_true=False if has_chv == True and has_fchv == False: #sintaxe de expressão checker { print '}? -> expressão em aberto' expr_true=False if has_key == True and has_fkey == False: #sintaxe de expressão checker [ print ']? -> expressão em aberto' expr_true=False if has_par == True and has_fpar == False: #sintaxe de expressão checker ( print ')? -> expressão em aberto' expr_true=False if expr_true == True: #correct checker print "Expressão correta!"
Virus, trojan, sei lá o que é isso, PARTE II
Implementação simples de um programa antivírus em Python 3.10 para Linux
Programa para calcular a média e a nota trimestral
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Seria referente ao Kali Linux (4)
Como mudsr a resolução da tela de login no KDE? (2)
Como ordenar datas corretamente usando o Calc? (3)