Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Wolverine X Sabretooth
Por jlojunior
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Lucas em 28/10/2006    [ 17840 hits ]

Login: _luks, 82369 pontos

Homepage: http://lucasnogueira.wordpress.com   


Descrição

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!'.

[ Download: mathexpr_checker.py ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

# -*- 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!"

Scripts recomendados
   Script Linux recomendado Meu programa de Matematica
   Script Linux recomendado Um Script basico que tenho
   Script Linux recomendado Lojinha.py
   Script Linux recomendado Agenda em Python
   Script Linux recomendado O maior quebra cabeças de sempre

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.