Calculadora em Python

Publicado por Luis Felipe Almeida Vieira (última atualização em 25/06/2018)

[ Hits: 14.153 ]

Download Calc v1.1.py

Download Calc v1.2.py (versão 2)




Criar uma calculadora foi o meu primeiro objetivo ao começar a aprender esta linguagem, finalmente ela está pronta, só não tem interface gráfica ainda.  

Ela tem opções de:

- Soma; (Comando: '+')
- Subtração; (Comando: '-')
- Divisão; (Comando: '/')
- Multiplicação; (Comando: '*')
- Potenciação; (Comando: '**')
- Tirar uma raiz (Seja ela qual for, você a escolherá); (Comando: 'r')
- Tirar uma porcentagem; (Comando: '%')
- Uma tabuada embutida. (Comando: 't')

  



Versões atualizadas deste script

Versão 2 - Enviado por Luis Felipe Almeida Vieira em 14/05/2018

Changelog: - Correção do bug da multiplicação. Ao multiplicar um valor por zero, o zero era ignorado, e a multiplicação seguia sem ele. Ex: 32*5*0 = 0; porém no script ele daria o resultado de 160.

Download Calc v1.2.py


Esconder código-fonte

###ADQUIRINDO OS DADOS###
a = float(input('Digite um número: '))
b = (input('Digite outro, se houver: '))
c = (input('Digite outro, se houver: '))
d = (input('Digite outro, se houver: '))
e = (input('Digite outro, se houver: '))
qual = input('Escolha a operação ')

###SOMA###
if qual == "+":
    if b == '':
        b = '0'
    if c == '':
        c = '0'
    if d == '':
        d = '0'
    if e == '':
        e = '0'
    b = float(b)
    c = float(c)
    d = float(d)
    e = float(e)
    soma = a + b + c + d + e
    print(soma)

###SUBTRAÇÃO###
elif qual == "-":
    if b == '':
        b = '0'
    if c == '':
        c = '0'
    if d == '':
        d = '0'
    if e == '':
        e = '0'
    b = float(b)
    c = float(c)
    d = float(d)
    e = float(e)
    sub = a - b - c - d - e
    print(sub)

###DIVISÃO###
elif qual == "/":
    if b == '':
        b = '0'
    if c == '':
        c = '0'
    if d == '':
        d = '0'
    if e == '':
        e = '0'
    b = float(b)
    c = float(c)
    d = float(d)
    e = float(e)
    if c + d + e == 0:
        div = a/b
        print(div)
    elif d + e == 0:
        div = a / b / c
        print(div)
    elif e == 0:
        div = a / b / c / d
        print(div)
    elif b + c + d + e > 0:
        div = a / b / c / d / e
        print(div)

###MULTIPLICAÇÃO###
elif qual == '*':
    if b == '':
        b = '0'
    if c == '':
        c = '0'
    if d == '':
        d = '0'
    if e == '':
        e = '0'
    b = float(b)
    c = float(c)
    d = float(d)
    e = float(e)
    if c + d + e == 0:
        mult = a * b
        print(mult)
    elif d + e == 0:
        mult = a * b * c
        print(mult)
    elif e == 0:
        mult = a * b * c * d
        print(mult)
    elif b + c + d + e > 0:
        mult = a * b * c * d * e
        print(mult)

###PORCENTAGEM###
elif qual == '%':
    if b == '':
        b = '0'
    b = float(b)
    calc = (a*b)/100
    print(' {} \n Que equivale a {}% de {}'.format(calc, b, a))

###POTENCIAÇÃO###
elif qual == '**':
    if b == '':
        b = '0'
    b = float(b)
    pot = a**b
    print(pot)

###RAIZ###
elif qual == 'r':
    e = (input('O número estará elevado a (caso seja ele mesmo, deixe em branco): '))
    if e == '':
        e = '1'
    e = float(e)
    r = float(input('Qual a raiz? '))
    raiz = a**(e/r)
    print(raiz)

###TABUADA###
elif qual == 't':
    print('------------ \n {} x 1 = {} \n {} x 2 = {} \n {} x 3 = {} \n {} x 4 = {} \n {} x 5 = {}'
          '\n {} x 6 = {} \n {} x 7 = {} \n {} x 8 = {} \n {} x 9 = {} \n {} x 10 = {} '
          '\n ------------'
          .format(a, a*1, a, a*2, a, a*3, a, a*4, a, a*5, a, a*6, a, a*7, a, a*8, a, a*9, a, a*10))

###OUTRAS OPERAÇÕES###
else:
    print('Operação não existente')
###FIM###

Scripts recomendados

Dicionário Ingles de expressões.

Problema das Oito Rainhas (Random)

Conexão de Roteadores CISCO

Implementação simples de um programa antivírus em Python 3.10 para Linux

multimídia tools 0.1 BETA


  

Comentários
[1] Comentário enviado por eduardo em 14/05/2018 - 08:57h

Me parece que tem um bug. Como tu coloca um valor de 0 para caso não seja digitado um valor, caso o usuário digite os valores como 0, o cálculo não será correto. Por exemplo, o usuário quer multiplicar e digita os valores 2, 3 e 0. O resultado deve ser 0, mas pelo que olhei, vai retornar 6. Talvez tu poderias utilizar um caractere que não é um número para os valores não digitados, ou ainda, como tu estás começando, pesquisar sobre listas e utilizar uma lista para guardar teus valores e depois simplesmente percorrer a lista. Dessa forma, tu só verificar os valores digitados. Essa alternativa vai facilitar o desenvolvimento da tua calculadora. Podes pensar para um "versão 2". ;)

Abraço

[2] Comentário enviado por Kaliglitcher em 26/12/2020 - 23:39h


[1] Comentário enviado por eduardo em 14/05/2018 - 08:57h

Me parece que tem um bug. Como tu coloca um valor de 0 para caso não seja digitado um valor, caso o usuário digite os valores como 0, o cálculo não será correto. Por exemplo, o usuário quer multiplicar e digita os valores 2, 3 e 0. O resultado deve ser 0, mas pelo que olhei, vai retornar 6. Talvez tu poderias utilizar um caractere que não é um número para os valores não digitados, ou ainda, como tu estás começando, pesquisar sobre listas e utilizar uma lista para guardar teus valores e depois simplesmente percorrer a lista. Dessa forma, tu só verificar os valores digitados. Essa alternativa vai facilitar o desenvolvimento da tua calculadora. Podes pensar para um "versão 2". ;)

Abraço


legal


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts