Expressões numéricas
Publicado por Lucas 28/10/2006
[ Hits: 25.117 ]
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!"
Implementação simples de um programa antivírus em Python 3.10 para Linux
Botnet em Python sem segredos!
Consumo de memória por processo
Nenhum comentário foi encontrado.
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (1)
Como listar os arquivos em "bloquin... (0)
Como vencer a procrastinação? (8)
Adicional de convivdado em linux somente linha de comando (3)