Calculadora em Python

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

[ Hits: 13.641 ]

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

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

Dicionário Ingles de expressões.

Resolução de problemas por meio de buscas - Labirinto (Inteligência Artificial)

Inverte String

pyTube v1.1


  

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