Na época que fiz o exercício não sabia ainda dessa operação com o % para determinar se o número é inteiro ou não. Acabei encontrando uma forma de solucionar o problema usando o formato string. Veja se faz sentido:
tipo = input('Digite um número real "Q". Vamos ver se é inteiro ou decimal ')
if '.' in tipo:
if '.0' in tipo:
print(f'{tipo} é inteiro')
else:
print(f'{tipo} é decimal')
else:
print(f'{tipo} é inteiro')