Expressões numéricas
Publicado por Lucas 28/10/2006
[ Hits: 25.005 ]
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!"
Cronômetro com interface gráfico utilizando a biblioteca Tkinter
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)