Portal GSTI
Portal GSTI

PublicarCadastre-seLogin
Menu
PERGUNTA

Dúvida com exercício

foto de
Igor Munhoz

Faça um Programa que peça 2 números inteiros e um número real. Calcule e mostre:

o produto do dobro do primeiro com metade do segundo .

a soma do triplo do primeiro com o terceiro.

o terceiro elevado ao cubo.

Tenho esse seguinte exercício a fazer.

Porém, quero fazer ele da seguinte forma, imagine que o terceiro número não saia como float, que o usuário não digite um float, e sim um int, como faço um if, para ele mostrar a resposta em int caso o numero3 seja int, e a resposta em float, caso o numero seja float?

Fiz da seguinte forma:

print ('Programa para ver numeros')
numero1 = int(input('\nDigite o numero 1: '))
numero2 = int(input('\nDigite o numero 2: '))
numero3 = float(input('\nDigite o numero 3: '))
print ('\n a)O produto do dobro do primeiro com a metade do segundo:\n')
print ("Resposta:", int(numero1 * 2 * numero2/2))
print ('\n b)A soma do triplo do primeiro com o terceiro:\n')
if type (numero3).__name__ == 'int' :
    print("Resposta:", int(numero1 * 3 + numero3))
else:
    print ("Resposta:", numero1 * 3 + numero3)
print ('\n c)O terceiro elevado ao cubo:\n')
if type (numero3).__name__ == 'int' :
    print("Resposta:", int(numero3 ** 3))
else:
    print ("Resposta:", numero3 ** 3)

Respostas 1

Consegue ajudar? A comunidade agradece

foto do perfil Phillip Parente Phillip Parente

Olá, relmente neste caso não tem como fugir do if porque o python não suporta sobrecarga de métodos. Mas para melhorar seu código, você não precisaria pegar o nome do tipo. Poderia fazer os ifs assim:

Python
if type (numero3)is int :print("Resposta:", int(numero1 *3+ numero3))