Ir para conteúdo
Fórum Script Brasil
  • 0

Calculadora Teste


Guest - Mateus -

Pergunta

Guest - Mateus -

Sou iniciante em programação, estou tentando fazer um programinha básico mas estou com dificuldades, veja o código abaixo (os ---- foi o que eu usei para identação :P ):

print 'Digite um número, depois um operador, em seguida outro número, depois um operador...'

print 'E assim vai até você digitar c no operador para calcular.'

print 'Os operadores comuns são: + - * / e os especiais são ** para potência e // para raiz.'

print

listan = []

listao = []

while 1:

------try:

------------num = float (raw_imput ('Digite um número: '))

------------oper = str (raw_imput('Digite um operador: '))

------------if oper == '*' or oper == '/' or oper == '+' or oper == '-' or oper == '**' or oper == '//':

------------------listan.append (num)

------------------listao.append (oper)

------------elif oper == 'c':

------------------break

------------else:

------------------print 'Digite um operador válido'

------except:

------------print 'número ou operador inválido'

#Aqui embaixo é que esta o problema, eu não sei o que eu faço aqui!!! Socorro!!!

#O que eu quero que o programa faça é o seguinte:

#Montar uma expressão e dar o seu resultado de acordo com as listas listan e listao.

#Um exemplo:

#listan = [23, 74.6, 25, 1.5]

#listao = ['*', '+', '**']

#aí o progra monta a seguinte expressão: listan[0] listao[0] listan[1] listao [1]..., ou seja,

#23 * 74,36 + 25 ** 1,5

#O programa irá calcular de acordo com as leis da matemática dando aproximadamente 1.835,28 como resultado

#Como eu faço isso, me ajudem!!!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Acho que o jeito mais prático seria juntar tudo numa string e mandar eval() computar o resultado:

listan = [23, 74.36, 25, 1.5]
listao = ['*', '+', '**']

for i in range(len(listan)-len(listao)):
    listao.append('')

s = ''
for i, j in zip(listan, listao):
    s += str(i) + j

print "%s = %s" % (s, eval(s))

Certo? ;) Ah, e dá-lhe Brasil!!!!!

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...