Expressões numéricas
Publicado por Lucas 28/10/2006
[ Hits: 24.854 ]
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!"
Como rodar músicas mp3 pelo Python
Cronômetro com interface gráfico utilizando a biblioteca Tkinter
Nenhum comentário foi encontrado.
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhorando a precisão de valores flutuantes em python[AJUDA] (3)
Instalação Uefi com o instalador clássico do Mageia (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta